Walle-2.0 安装部署
0.Walle介绍
官网:http://walle-web.io/docs/2/zh-cn/installation.html
walle 让用户代码发布终于可以不只能选择 jenkins!支持各种web代码发布,
php、java、python、go等代码的发布、回滚可以通过web来一键完成。
walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境
同时部署的开源上线部署系统。
功能强大,且免费开源的walle-web 瓦力终于更新2.0了!
walle 现已加入码云 gitee豪华GVP套餐,与github同步发布,
支持国产部署平台walle,支持国产代码托管码云 gitee,哈
特性
类gitlab的RESTful API,类gitlab的权限模型,将来打通gitlab,良心的惊喜
空间管理。意味着有独立的空间资源:环境管理、用户组、项目、服务器等
灰度发布。呼声不断,终于来了
websocket 实时展示部署中的 shell console
完善的通知机制。邮件、钉钉
全新的UI,我自己都被震憾到了,如丝般流畅
1.克隆Walle-2.0项目
[root@slave1 ~]# mkdir /code
[root@slave1 ~]# cd /code/
[root@slave1 code]# git clone https://github.com/meolu/walle-web.git
2.配置Nginx虚拟站点
#1.配置Nginx源,安装Nginx
[root@slave1 code]# cat /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[root@slave1 code]# yum install nginx -y
[root@slave1 code]# systemctl start nginx
[root@slave1 code]# systemctl enable nginx
[root@slave1 code]# vim /etc/nginx/conf.d/walle.com.conf
upstream webservers {
server 0.0.0.0:5000 weight=1; # 负载设置
}
server {
listen 80;
server_name admin.walle-web.io; # 域名设置
access_log /var/log/nginx/walle.log main; # 日志目录
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
add_header access-control-allow-origin *;
root /code/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";
}
}
[root@slave1 walle-web]# vim /etc/hosts
# 新增一行
127.0.0.1 admin.walle-web.io # 与nginx配置一致
3.安装
[root@slave1 walle-web]# cd /code/walle-web/
vim admin.sh
将下面的代码粘贴到第二十行,看好了再粘,可别粘错了哟
virtualenv --no-site-packages -p /usr/local/bin/python2.7 venv
[root@slave1 walle-web]# cd /code/walle-web/
[root@slave1 walle-web]# sh admin.sh init
成功的图片
报错处理
#如提示./venv/bin/activate: No such file or directoy 或 virtualenv --no-site-packages venv
可执行virtualenv --system-site-packages venv
如提示扩展无 可pip install 对应扩展
如提示扩展已存在可尝试先pip uninstall 对应扩展
(如pip install flast)
如提示 that satisfies the requirement gitdb>=4.0.1
可能要修改
requirements/prod.txt
(GitPython==2.1.11)
或者pip install GitPython
4.配置数据库
#1.卸载现有的数据库
[root@slave1 walle-web]# yum remove mariadb* -y
#2.配置高版本的mariadb源
[root@slave1 walle-web]# vim /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.3/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
#3.安装mariadb
[root@slave1 walle-web]# yum install mariadb mariadb-server -y
[root@slave1 walle-web]# systemctl start mariadb
[root@slave1 walle-web]# systemctl enable mariadb
#4.为数据库设置密码
[root@slave1 walle-web]# mysqladmin password 123456
#5.创建数据库
[root@slave1 walle-web]# mysql -uroot -p123456
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.3.22-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE SCHEMA walle;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> grant all privileges on walle.* to walle@localhost identified by 'walle';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> \q
Bye
5.配置walle
[root@slave1 walle-web]# vim walle/config/settings_prod.py
将登陆数据库的密码设置为123456
#这里也需要配置一下,取消注释
SQLALCHEMY_DATABASE_URI = 'mysql://walle:walle@localhost:3306/walle? charset=utf8'
6.数据迁移
[root@slave1 walle-web]# sh admin.sh migration
7.重启Nginx,并启动Walle
#1.重启nginx
[root@m01 /code/walle-web]# systemctl restart nginx.service
#2.启动Walle
[root@m01 /code/walle-web]# sh admin.sh start
登录名和密码,官网提供
超管: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