前面的教程主要參考的是walle的github的手冊配置的。後面是實際的業務上的配置部分。做個筆記,防止過段時間自己忘了,也給其他人使用的時候提供個參考。
實驗拓撲:
walle伺服器 192.168.2.11 監聽在82端口
gitlab伺服器 192.168.2.11 監聽在80端口
web伺服器 192.168.2.13 nginx網站代碼目錄:/usr/share/nginx/html/
實驗要求:
将git@node1:root/ops.git這裡的項目部署到web伺服器(192.168.2.13)上。
gitlab的安裝不是這裡的重點,略過。
步驟略過,基本上參照walle官網即可安裝完成。
注意點:
0、wallle運作環境的php版本不低于5.4
1、修改資料庫的地方有2個。config/local.php config/web.php 這2個檔案裡的mysql連接配接參數都要修改,不然執行./yii walle/setup會報錯。
2、nginx裡面配置的root目錄為walle下面的web/目錄,而不是walle解壓後的根目錄。
我的gitlab和walle搭建在同一台機器上,gitlab占用了80端口,是以我這裡的walle運作在82端口上。
登入的賬号和密碼都是admin
注意:
如果彈出個錯誤,這是因為php出于安全考慮将exec 功能禁用掉了。
<a href="http://s5.51cto.com/wyfs02/M02/8A/5B/wKioL1gusCrDJPjkAABB9UISwV0344.png" target="_blank"></a>
我們修改php.ini/usr/local/php/etc/php.ini 将disable_functions 裡面的exec删除掉,然後重新開機php-fpm即可。
登陸進去後,點選項目配置,建立項目。
我的配置如下圖:
<a href="http://s2.51cto.com/wyfs02/M01/8A/5F/wKiom1gusEiAme6jAADe-Lsp3js512.png" target="_blank"></a>
我用的是預設的路徑,後面我們需要手動建立這些目錄,并且修改這些目錄的權限。
2.1 walle伺服器、web伺服器上執行:
# 修改伺服器上nginx、php-fpm的運作賬戶為web
# 實際上walle伺服器的nginx、php運作賬戶是不是web好像沒什麼影響,但是一般我們線上的都是用的獨立的賬戶運作這些服務的。
useradd web
su - web
ssh-keygen-t rsa
ssh-copy-id -i .ssh/id_rsa.pub web@localhost
exit
vi /etc/php-fpm.d/www.conf 修改運作賬戶和運作組為web
vi /etc/nginx/nginx.conf 修改運作賬戶為web
/etc/init.d/nginxrestart
/etc/init.d/php-fpmrestart
2.2 walle伺服器上執行:
chown web.web -R /data/www/deploy/
chown web.web -R /tmp/walle/
cat /home/web/.ssh/id_rsa.pub 将内容粘貼到 web伺服器192.168.2.13的web使用者的authorized_key裡面。
cat /home/web/.ssh/id_rsa.pub 将内容粘貼到gitlab背景的deploykey清單中。
2.3 web伺服器上執行:
chown web.web -R /data/release/ 允許web使用者對存放代碼的目錄的讀寫操作。
chown web.web /usr/share/nginx -R 修改nginx的web目錄權限為web使用者群組
rm -fr /usr/share/nginx/html 必須先删除這個實際的網站代碼目錄,因為walle釋出時候會自動建立這個軟連結的
echo 'webALL = (ALL) NOPASSWD: ALL ' >> /etc/sudoers 添加sudo權限,使用者部署代碼後重新開機nginx或者php-fpm或者tomcat等業務
2.4 檢測配置是否成功:
在walle的項目配置裡面,點選“檢測”
<a href="http://s5.51cto.com/wyfs02/M00/8A/5F/wKiom1gusHTT3XYpAAAosn2r7hs902.png" target="_blank"></a>
如果出現下圖,則說明配置成功了,如果不成功的話,系統也會提示哪裡出錯的。
<a href="http://s5.51cto.com/wyfs02/M01/8A/5B/wKioL1gusHSSWncVAAAZcD2mgTo511.png" target="_blank"></a>
2.5 建立上線單:
<a href="http://s5.51cto.com/wyfs02/M01/8A/5F/wKiom1gusJ3AX82sAAB_bUC2vHA768.png" target="_blank"></a>
版本選取下拉清單中,會列出gitlab裡面的commit記錄。
配置完成後,點選送出。如下圖:
<a href="http://s4.51cto.com/wyfs02/M01/8A/5B/wKioL1gusJ3ReiI9AABMiLClYTY514.png" target="_blank"></a>
點選右側的綠色的上線,然後點選部署即可。成功的話,如下圖。如果失敗了,會提示哪裡配置錯了的。
<a href="http://s1.51cto.com/wyfs02/M02/8A/5F/wKiom1gusLujrM-8AABAuNcEhwQ903.png" target="_blank"></a>
2.6 代碼復原:
walle支援代碼復原,如下圖。
<a href="http://s2.51cto.com/wyfs02/M00/8A/5F/wKiom1gusNKh8x1pAABxO6x4TgY433.png" target="_blank"></a>
2.7 多使用者管理:
walle支援多使用者,可以由管理者添加使用者,也可以自己在登入界面注冊賬戶。
注意的是,如果需要支援使用者注冊的話,需要walle裡面配置發送郵件的賬戶。
配置具體操作略過。
本文轉自 lirulei90 51CTO部落格,原文連結:http://blog.51cto.com/lee90/1874304,如需轉載請自行聯系原作者