walle 让用户代码发布终于可以不只能选择 jenkins!支持各种web代码发布,php、java、python、go等代码的发布、回滚可以通过web来一键完成。walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境同时部署的开源上线部署系统。
官网walle
安装示例路径:/webroot/
1. 克隆代码
cd /webroot/
git clone https://github.com/meolu/walle-web.git
2. Nginx config
upstream webservers {
server 0.0.0.0:5000 weight=1; # 负载设置
}
server {
listen 80;
server_name walle.vilay.com; # 修改成你想要的域名
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 /webroot/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";
}
}
除了上面有标注的,其它都可以不要改
3. 修改hosts
walle宿主机(walle安装的机子)上修改hosts
vi /etc/hosts
# 新增一行
127.0.0.1 walle.vilay.com # 与nginx配置一致
4. 安装
进入你克隆代码的目录
cd /webroot/
sh admin.sh init
5. 修改配置
cd /webroot/
vi walle/config/settings_prod.py
根据情况修改三个地方
HOST
SQLALCHEMY_DATABASE_URI
CODE_BASE
6. 创建数据库
数据库名称看你上一步在修改配置里面SQLALCHEMY_DATABASE_URI
的配置
mysql -hxx -uxx -p -e'CREATE SCHEMA walle'
sh admin.sh migration
7. 启动
sh admin.sh start
几个常用命令
sh admin.sh restart # 重启
sh admin.sh upgrade # 升级walle,升级完需要重启walle服务。升级前最好 git stash 暂存本地修改,升级后git stash pop弹出暂存,然后重启服务。
sh admin.sh migration # Migration
安装部分完结。
具体使用还有一个要注意的地方,免密登录传输的问题。把宿主机的密钥放入目标部署服务器上。 参考文章怎么在SHELL 中使用SCP不输入密码
使用步骤
1. 创建空间
2. 创建用户
3. 创建环境
4. 增加服务器
5. 项目管理增加项目 主要注意Git Repo的写法:https://username:password@github.com/zhujp/flask_blog.git 以这种形式
6. 布置前置任务或者后置任务
7. 建上线单,发布