一.简介

walle支持各种web代码发布,php、java、python、go等代码的发布、回滚可以通过web来一键完成。walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境同时部署的开源上线部署系统。

二.权限模型

超管 所有权限(有空间、用户、项目、部署管理权限,类似公司Leader) 空间所有者 所属空间所有权限(用户、项目、部署管理权限,类似部门Leader) 项目管理者 项目管理(项目、部署管理权限,类似组Leader) 开发者 上线申请(部署权限,类似员工) 访客 默认不用

三.运维操作 1. 添加用户 2. 超级管理员创建空间

四.开发操作 1. 空间所有者选择成员到自己空间并设置成员角色 2. 空间所有者新增环境 3. 空间所有者添加服务器 4. 空间所有者新建项目,注意项目要归属某一环境 5. 空间所有者提交项目后,可以设置项目成员管理 6. 项目管理者只能管理编辑项目,不能新建 7. 开发者创建上线单并提交上线单 8. 开发者只能提交上线单需要项目管理者审核 9. 开发者或者项目管理者开始上线 10. 上线成功会发邮件通知

五.瓦力工作流程原理 1. 前半部分是从gitlab上下载代码,默认只要只读权限即可,下载代码在瓦力默认目录/data1/codebase/下,然后瓦力复制为日期命名再打包,打包时排除相关文件

1
2
 [www@127.0.0.1]$ cp -rf /data1/codebase/3 3_13_20190417_194649
[www@127.0.0.1]$ tar zcf /data1/codebase/3_13_20190417_194649.tgz --exclude=.git --exclude=*.log 3_13_20190417_194649/
  1. 瓦力远程执行命令创建程序仓库目录,所以该目录必须对work有读写权限,建议/data1/目录下,然后远程拷贝瓦力准备好的代码(有的情况下需要先编译)到目标服务器代码仓库位置,再解压缩并做软链接保留历史版本,最后移动到程序目录并删除压缩包等不需要文件
1
2
3
4
5
6
7
8
[work@10.2.100.38]$ mkdir -p /data1/release/k8s
[www@127.0.0.1]$ scp /data1/codebase/3_13_20190417_194649.tgz work@10.2.100.38:/data1/release/k8s
[work@10.2.100.38]$ tar zxf 3_13_20190417_194649.tgz
[work@10.2.100.38]$ ln -sfn /data1/release/k8s/3_13_20190417_194649 /data1/release/k8s/current-tmp-13
[work@10.2.100.38]$ mv -fT /data1/release/k8s/current-tmp-13 /data1/k8s
[work@10.2.100.38]$ rm -rf 3_13_*.tgz
[work@10.2.100.38]$ ls -t 3_* | tail -n +9 | xargs rm -rf
[www@127.0.0.1]$ rm -rf 3_13_*

六.常用文档参考链接

1
2
3
4
5
6
7
8
9
10
用户配置
https://walle-web.io/docs/configuration-user.html
项目配置
https://walle-web.io/docs/configuration-project.html
Java项目配置模板
https://walle-web.io/docs/configuration-project-java.html
提交上线单
https://walle-web.io/docs/submit-bill.html
部署上线
https://walle-web.io/docs/deploying.html