Walle 一個web部署系統工具,配置簡單、功能完善、界面流暢、開箱即用!支持git、svn版本管理,支持各種web代碼發佈,PHP,Python,JAVA等代碼的發佈、回滾,可以通過web來一鍵完成。
-
用戶分身份註冊、登錄
-
開發者發起上線任務申請、部署
-
管理者審覈上線任務
-
支持多項目部署
-
支持多項目多任務並行
-
快速回滾
-
項目的用戶權限管理
-
部署前準備任務pre-deploy(前置檢查)
-
代碼檢出後處理任務post-deploy(如vendor)
-
同步後更新軟鏈前置任務pre-release
-
發佈完畢後收尾任務post-release(如重啓)
-
執行sql構建(不要擔心忘記測試環境sql同步)
-
線上文件指紋確認
-
支持git、svn版本管理
walle官網
http://www.walle-web.io/
安裝
1.下載瓦力源碼
yum install wget
yum install git
cd /usr/local
git clone https://github.com/meolu/walle-web.git
2.修改瓦力nginx配置
vi /usr/local/walle-web/gateway/nginx/default.conf
upstream webservers {
server 0.0.0.0:5000 weight=1;
}
server {
listen 80;
location / {
root /usr/local/walle-web/fe; # 前端代碼
try_files $uri $uri/ /index.html;
add_header access-control-allow-origin *;
}
location ^~ /api/ {
add_header
access-control-allow-origin *;
proxy_pass
http://webservers;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Origin $host:$server_port;
proxy_set_header Referer $host:$server_port;
}
location ^~ /socket.io/ {
add_header access-control-allow-origin *;
proxy_pass http://webservers;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Origin $host:$server_port;
proxy_set_header Referer $host:$server_port;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true; # WebScoket Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
3.安裝Python 2.7 + pip 執行sh admin.sh init 即可
sh admin.sh init
4.修改瓦力數據源配置信息
vi /usr/local/walle-web/walle/config/settings_prod.py
數據庫設置 @TODO 修改成自己的即可
SQLALCHEMY_DATABASE_URI = 'mysql://root:[email protected]:3306/walle?charset=utf8'
5.創建數據庫walle
6.初始化數據和表
sh admin.sh migration
7.啓動瓦力
sh admin.sh start
8.配置ngxin,將瓦力default.conf配置引入nginx
vi /usr/local/openresty/nginx/conf/nginx.conf
include /usr/local/walle-web/gateway/nginx/*.conf;
9.校驗nginx配置並啓動nginx
openresty -s reload
10.訪問瓦力
http://ip
出現瓦力登錄頁面就是部署成功了
如果報以下錯誤,說明沒有開放5000端口,需要開放5000端口即可。
[root@iz2zeh9vkzz3gki96zb1ksz conf]# openresty -s reload
nginx: [emerg] host not found in upstream "python:5000" in /usr/local/walle-web/gateway/nginx/default.conf:2
演示
其他命令及信息
默認賬號
超管:[email protected] \ Walle123
所有者:[email protected] \ Walle123
負責人:[email protected] \ Walle123
開發者:[email protected] \ Walle123
訪客:[email protected] \ Walle123
sh admin.sh restart # 重啓
sh admin.sh upgrade # 升級walle,升級完需要重啓walle服務。升級前最好 git stash 暫存本地修改,升級後git stash pop彈出暫存,然後重啓服務。
sh admin.sh migration # Migration