简介

Walle是一款系统部署工具,配置简单、功能完善、界面流畅、开箱即用!支持git、svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布、回滚,可以通过web来一键完成。

核心功能

Walle如何颠覆传统部署流程?

1. 全流程可视化管控

  • 任务审批流: 开发者提交部署申请 → 管理员审核 → 自动化执行,权限分离保障安全

  • 多环境支持: 支持测试/预发/生产等多环境独立配置,一键切换部署目标

  • 智能回滚机制: 历史版本秒级回退,文件指纹校验确保一致性

2. 工程化部署架构

四阶段任务钩子:

  • 部署前检查(pre-deploy): 环境变量校验、依赖检测
  • 代码检出处理(post-deploy): 自动执行composer install等构建命令
  • 发布前准备(pre-release): 软链切换、服务停止
  • 发布后收尾(post-release): 服务重启、通知触发

Ansible集成: 通过SSH密钥信任机制,实现多服务器并发操作,速度提升10倍

3. 企业级安全设计

  • RBAC权限模型: 超管/项目负责人/开发者/访客四级角色,细粒度控制操作权限

  • 审计日志追踪: 完整记录部署操作、文件变更及执行人信息

  • 邮件双重验证: 关键操作触发邮件确认,规避误操作风险

从零搭建Walle

1.下载Walle源码

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.修改Walle数据源配置信息

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.启动Walle

sh admin.sh start

8.将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.访问Walle

访问http://ip出现Walle登录页面就是部署成功了

系统演示

项目列表

项目配置

项目配置

上线单提交

部署上线

版权声明:
1、本网站名称:帝企吧
2、本站永久网址:https://www.diqiba.com
3、本网站的文章部分内容可能来源于网络及作者投稿,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7、本站所有资源来源于互联网,仅用于学习及参考使用,切勿用于商业用途,如产生法律纠纷本站概不负责! 8、资源除标明原创外均来自网络转载,版权归原作者所有,若侵犯到您权益请联系我们删除,我们将及时处理! 9、若您需使用非免费的软件或服务,请购买正版授权并合法使用!