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:253678Hu@127.0.0.1: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
演示
其他命令及信息
默认账号
超管:super@walle-web.io \ Walle123
所有者:owner@walle-web.io \ Walle123
负责人:master@walle-web.io \ Walle123
开发者:developer@walle-web.io \ Walle123
访客:reporter@walle-web.io \ Walle123
sh admin.sh restart # 重启
sh admin.sh upgrade # 升级walle,升级完需要重启walle服务。升级前最好 git stash 暂存本地修改,升级后git stash pop弹出暂存,然后重启服务。
sh admin.sh migration # Migration