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. 建上线单,发布