Walle 2.0 - 瓦力 Devops開源項目代碼部署平臺
![Walle 2.0 - 瓦力 Devops開源項目代碼部署平臺](http://p2.ttnews.xyz/loading.gif)
功能強大,且免費開源的walle-web 瓦力終於更新2.0.0了!!!
walle 讓用戶代碼發佈終於可以不只能選擇 jenkins!支持各種web代碼發佈,php、java、python、go等代碼的發佈、回滾可以通過web來一鍵完成。walle 一個可自由配置項目,更人性化,高顏值,支持git、多用戶、多語言、多項目、多環境同時部署的開源上線部署系統。
Feature
類gitlab的RESTful API,類gitlab的權限模型。將來打通gitlab,良心的驚喜
空間管理。意味著有獨立的空間資源:環境管理、用戶組、項目、服務器等
灰度發佈。呼聲不斷,終於來了
項目管理。Deploy、Release的前置及後置hook,自定義全局變量;自帶檢測、複製功能,都貼心到這種程度了
websocket 實時展示部署中的 shell console,跟真的終端長得一樣。
完善的通知機制。郵件、釘釘
全新的UI,我自己都被震憾到了,如絲般流暢
架構拓撲:
![Walle 2.0 - 瓦力 Devops開源項目代碼部署平臺](http://p2.ttnews.xyz/loading.gif)
功能預覽:
項目管理
服務器上線
用戶管理
項目部署
安裝部署
1.安全
務必部署在內網!
2.Clone code
git clone https://github.com/meolu/walle-web.git
3.Nginx config
別忘了要重啟nginx,注意標出可能需要改的地方
upstream webservers {
server 0.0.0.0:5000 weight=1; # 負載設置
}
server {
listen 80;
server_name admin.walle-web.io; # 域名設置
access_log /usr/local/nginx/logs/walle.log main;
index index.html index.htm; # 日誌目錄
location / {
try_files $uri $uri/ /index.html;
add_header access-control-allow-origin *;
root /walle-web/fe; # 前端代碼已集成到walle-web,即walle-web/fe的絕對路徑
}
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";
}
}
4.Hosts
vi /etc/hosts
# 新增一行
127.0.0.1 admin.walle-web.io # 與nginx配置一致
5.Install
安裝Python 2.7 + pip。
sh admin.sh init
# 注意:安裝mysqlclient失敗,需要先安裝libmysqlclient-dev(ubuntu)
# 注意:安裝失敗請指定python路徑. mac 可能會有用anaconda的python,找到自己系統的python 2.7追加參數指定 -p /usr/bin/python2.7 即可
# vi admin.sh +20
# virtualenv --no-site-packages -p /usr/local/bin/python2.7 venv
6.Config setting
帶 @TODO 就是可能要修改的地方
vi walle/config/settings_prod.py
7.Data Migration
7.0 MySQL 5.6.5以上,否則會在安裝時報錯。在MySQL 5.6.5版本之前,Automatic Initialization and Updating只適用於TIMESTAMP,而且一張表中,最多允許一個TIMESTAMP字段採用該特性。從MySQL 5.6.5開始,Automatic Initialization and Updating同時適用於TIMESTAMP和DATETIME,且不限制數量。
7.1 創建一個數據庫 walle
mysql -hxx -uxx -p -e'CREATE SCHEMA walle'
7.2 Data Migration
sh admin.sh migration
8.Start
8.1 啟動
sh admin.sh start
8.2 重啟、升級、Migration
sh admin.sh restart # 重啟
sh admin.sh upgrade # 升級walle,升級完需要重啟walle服務。升級前最好 git stash 暫存本地修改,升級後git stash pop彈出暫存,然後重啟服務。
sh admin.sh migration # Migration
9.開啟walle 2.0之旅
恭喜你,大功告成!初始登錄賬號如下,開啟你的walle 2.0之旅吧:)
超管:[email protected] \\ Walle123
所有者:[email protected] \\ Walle123
負責人:[email protected] \\ Walle123
開發者:[email protected] \\ Walle123
訪客:[email protected] \\ Walle123
其它
walle運行過程,以及部署過程出錯了,具體日誌可以查看logs/runtime.log,別說你在啟動walle的時候沒注意到?
如果出現任何打開頁面出現404或者只顯示’wall-web 2.0’等,都是nginx配置或者服務沒有啟動,細心檢查。
閱讀更多 雲上猿人 的文章