walle 2.0 瓦力部署详细流程

walle介绍

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

特性

  • 类gitlab的RESTful API,类gitlab的权限模型,将来打通gitlab,良心的惊喜
  • 空间管理。意味着有独立的空间资源:环境管理、用户组、项目、服务器等
  • 灰度发布。呼声不断,终于来了
  • websocket 实时展示部署中的 shell console
  • 完善的通知机制。邮件、钉钉
  • 全新的UI,我自己都被震憾到了,如丝般流畅

原理分析

宿主机、目标机群、操作用户
宿主机、目标机群、操作用户关系如下图所示,宿主机(walle所在的机器),是一个中间机器,是代码托管与远程目标机群的纽带。所以宿主机需要与代码托管(github/gitlab)和远程目标机群都建立ssh-key信任。

在这里插入图片描述
权限模型
权限的角色分为SUPER 超管、OWNER 所有者、MASTER 负责人、DEVELOPER 开发者、REPORTER 访客,操作的资源包括空间、项目、上线单(任务)、环境、用户等

在这里插入图片描述
用户关系与信任关系

在这里插入图片描述
上线流程图
在这里插入图片描述

一.安装前准备

1.更换阿里云源

[root@localhost ~]#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]#yum clean all
[root@localhost ~]#yum makecache
更新yum:
[root@localhost ~]#yum update

2.安装EPEL源 RHEL/CentOS 7

[root@localhost ~]#yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]#yum update

二.安装的MySQL

可参考yum安装mysql

安装nginx
可以参考ngin安装方法

修改配置

upstream webservers {
    server 0.0.0.0:5000 weight=1; # 负载设置
}

server {
    listen       80;
    server_name  localhost; # 域名设置
    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 /usr/local/nginx/html/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@localhost html]# wget https://github.com/meolu/walle-web/archive/master.zip
[root@localhost html]# unzip master.zip 
[root@localhost html]# mv walle-web-master/ walle-web

安装python3.6

[root@localhost html]# yum -y install wget sqlite-devel xz gcc automake zlib-devel git openssl-devel epel-release git
[root@localhost html]# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
[root@localhost html]# tar -xf Python-3.6.1.tar.xz
[root@localhost html]# cd Python-3.6.1
[root@localhost Python-3.6.1]# ./configure && make && make install
[root@localhost Python-3.6.1]# cd /opt/
[root@localhost opt]# python3.6 -m venv /opt/py3

修改安装脚本

[root@localhost opt]# cd /usr/local/nginx/html/walle-web/
[root@localhost walle-web]# vim admin.sh
把source ./venv/bin/activate
改为 source /opt/py3/bin/activate

如图
在这里插入图片描述
安装

[root@localhost walle-web]# sh admin.sh init

安装成功图片

在这里插入图片描述
修改配置文件

[root@localhost walle-web]# vim walle/config/settings_prod.py 

主要修改数据的用户密码

在这里插入图片描述
数据库设置下面一行去掉注释
如图
在这里插入图片描述
安装数据连接工具

[root@localhost walle-web]# pip  install mysqlclient
[root@localhost walle-web]# pip  install pymysql

数据迁移

[root@localhost walle-web]# sh admin.sh  migration

在这里插入图片描述
启动nginx,启动walle

[root@localhost walle-web]# nginx
[root@localhost walle-web]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      76909/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6537/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      6696/master         
tcp6       0      0 :::22                   :::*                    LISTEN      6537/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      6696/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      47790/mysqld        
udp        0      0 0.0.0.0:22577           0.0.0.0:*                           812/dhclient        
udp        0      0 0.0.0.0:68              0.0.0.0:*                           812/dhclient        
udp        0      0 127.0.0.1:323           0.0.0.0:*                           13599/chronyd       
udp6       0      0 :::13792                :::*                                812/dhclient        
udp6       0      0 ::1:323                 :::*                                13599/chronyd       
[root@localhost walle-web]# sh admin.sh start
                                                                                            
                                                          llllllllllllll                     
                                                           l::::l l::::l                     
wwwwwww           wwwww           wwwwww aaaaaaaaaaaaa     l::::l l::::l     eeeeeeeeeeee    
 w:::::w         w:::::w         w:::::w a::::::::::::a    l::::l l::::l   ee::::::::::::ee  
  w:::::w       w:::::::w       w:::::w  aaaaaaaaa:::::a   l::::l l::::l  e::::::eeeee:::::ee
   w:::::w     w:::::::::w     w:::::w            a::::a   l::::l l::::l e::::::e     e:::::e
    w:::::w   w:::::w:::::w   w:::::w      aaaaaaa:::::a   l::::l l::::l e:::::::eeeee::::::e
     w:::::w w:::::w w:::::w w:::::w     aa::::::::::::a   l::::l l::::l e:::::::::::::::::e 
      w:::::w:::::w   w:::::w:::::w     a::::aaaa::::::a   l::::l l::::l e::::::eeeeeeeeeee  
       w:::::::::w     w:::::::::w     a::::a    a:::::a   l::::l l::::l e:::::::e           
        w:::::::w       w:::::::w      a::::a    a:::::a   l::::l l::::l e::::::::e          
         w:::::w         w:::::w       a:::::aaaa::::::a   l::::l l::::l  e::::::::eeeeeeee  
          w:::w           w:::w         a::::::::::aa::a   l::::: l:::::l  ee:::::::::::::e  
           www             www           aaaaaaaaaa  aaaa llllllllllllllll    eeeeeeeeeeeeee  
                                                                                            
Starting walle
----------------
Start walle:                 [ ok ]
runtime:  logs/runtime.log 
error:  logs/error.log 

在这里插入图片描述
浏览器访问
直接用ip访问既可

在这里插入图片描述
登录名和密码,官网提供
超管: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

搭建完成

整理了一两个小时终于好了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rio520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值