Walle2.0-瓦力Devops开源项目代码部署平台

说个云也原生 2024-03-20 03:47:44

Walle 2.0 - 瓦力 Devops开源项目代码部署平台

功能强大,且免费开源的walle-web 瓦力终于更新2.0.0了!!!

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

Feature

类gitlab的RESTful API,类gitlab的权限模型。将来打通gitlab,良心的惊喜

空间管理。意味着有独立的空间资源:环境管理、用户组、项目、服务器等

灰度发布。呼声不断,终于来了

项目管理。Deploy、Release的前置及后置hook,自定义全局变量;自带检测、复制功能,都贴心到这种程度了

websocket 实时展示部署中的 shell console,跟真的终端长得一样。

完善的通知机制。邮件、钉钉

全新的UI,我自己都被震憾到了,如丝般流畅

架构拓扑:

功能预览:

项目管理

服务器上线

用户管理

项目部署

安装部署

1.安全

务必部署在内网!

2.Clone code

git clone https://github.com/meolu/walle-web.git

3.Nginx config

别忘了要重启nginx,注意标出可能需要改的地方

upstream webservers { server 0.0.0.0:5000 weight=1; # 负载设置}server { listen 80; server_name admin.walle-web.io; # 域名设置 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 /walle-web/fe; # 前端代码已集成到walle-web,即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"; }}

4.Hosts

vi /etc/hosts# 新增一行127.0.0.1 admin.walle-web.io # 与nginx配置一致

5.Install

安装Python 2.7 + pip。

sh admin.sh init# 注意:安装mysqlclient失败,需要先安装libmysqlclient-dev(ubuntu)# 注意:安装失败请指定python路径. mac 可能会有用anaconda的python,找到自己系统的python 2.7追加参数指定 -p /usr/bin/python2.7 即可# vi admin.sh +20# virtualenv --no-site-packages -p /usr/local/bin/python2.7 venv

6.Config setting

带 @TODO 就是可能要修改的地方

vi walle/config/settings_prod.py

7.Data Migration

7.0 MySQL 5.6.5以上,否则会在安装时报错。在MySQL 5.6.5版本之前,Automatic Initialization and Updating只适用于TIMESTAMP,而且一张表中,最多允许一个TIMESTAMP字段采用该特性。从MySQL 5.6.5开始,Automatic Initialization and Updating同时适用于TIMESTAMP和DATETIME,且不限制数量。

7.1 创建一个数据库 walle

mysql -hxx -uxx -p -e'CREATE SCHEMA walle'

7.2 Data Migration

sh admin.sh migration

8.Start

8.1 启动

sh admin.sh start

8.2 重启、升级、Migration

sh admin.sh restart # 重启sh admin.sh upgrade # 升级walle,升级完需要重启walle服务。升级前最好 git stash 暂存本地修改,升级后git stash pop弹出暂存,然后重启服务。sh admin.sh migration # Migration

9.开启walle 2.0之旅

恭喜你,大功告成!初始登录账号如下,开启你的walle 2.0之旅吧:)

超管: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

其它

walle运行过程,以及部署过程出错了,具体日志可以查看logs/runtime.log,别说你在启动walle的时候没注意到?

如果出现任何打开页面出现404或者只显示’wall-web 2.0’等,都是nginx配置或者服务没有启动,细心检查。

0 阅读:0

说个云也原生

简介:感谢大家的关注