walle(瓦力)部署系统的安装和简单使用
Walle(瓦力):一套軟件開發的部署系統。提供了清晰的日志記錄,支持數據的回滾。用于解決大型團隊在軟件開發中的測試、預測試和上線的統一部署管理。
系統環境:CentOS6.8-A CentOS-6.8-B
軟件支持:walle ssh php-5.6 gitlab-8.6.0 composer nginx-1.10 git2.3 Mysql5.6
安裝過程:
server {listen 80;server_name walle.compony.com; # 改你的hostroot /the/dir/of/walle-web/web; # 根目錄為webindex index.php;# 建議放內網# allow 192.168.0.0/24;# deny all; location / {try_files $uri $uri/ /index.php$is_args$args;}location ~ \.php$ {try_files $uri = 404;fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;} }
6. 訪問域名。內容的管理員帳號為admin|admin
問題解答
1:請確認php進程用戶{user}有代碼存儲倉庫{path}讀寫權限。
chown -R {user}:{user} {path}
chmod 755 {path}
2:請確認php進程用戶{user}把ssh-key加入git的deploy-keys列表
1):沒有把{user}生成的公鑰添加到gitlab的ssh-key管理列表中。請添加,并且測試是否可以通過{user}進行無密碼的git的操作
2):確定把{user}加入到了指定的git管理倉庫中,那么請使用git隨便拉取一個repository,因為首次拉取會讓客戶端進行遠程服務端的身份指紋驗證的操作
請確保{user}可以進行無密碼的正常拉取操作
3):當以上兩種情況都沒有問題,命令行可以正常拉取,但是通過walle還是報錯。請將git創建一個軟連接到/usr/bin。(本人遇到的就是這個問題)
3:gitlab在添加ssh的時候報500錯誤
cat ?/var/log/gitlab/gitlab-rails/production.log
1):/usr/bin/env: ssh ??
yum install openssh-clients -y
4:請確認php進程{local_user}用戶ssh-key加入目標機器的{remote_user}用戶ssh-key信任列表
請確保{local_user} 通過ssh可以無密碼登錄{remote_user}
5:{remote_user}有目標機器發布版本庫{path}寫入權限
解決方法請參考->1
6:walle上線出現無法已非目錄覆蓋目錄
這里的webroot填寫的存放路徑的最后一個文件名稱,不能存在。walle會部署項目的時候以最后一個名稱為項目文件名。如:/www/webroot/test ?則test不需要創建,并且test需要有針對上圖中的[用戶]擁有讀寫權限。
?
walle的原理解析
通過PHP中的exec()函數基于SSH安全驗證機制(免密碼登錄)進行一系列的命令操作,如git的拉取、文件夾的創建、文件的遠程拷貝等等。
?
轉載于:https://www.cnblogs.com/axunz/p/5923262.html
總結
以上是生活随笔為你收集整理的walle(瓦力)部署系统的安装和简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苏宁易购11.11:商品详情系统架构设计
- 下一篇: windows下java环境搭建