walle2.0搭建
概念:
walle 让用户代码发布终于可以不只能选择 jenkins!支持各种web代码发布,php、java、python、go等代码的发布、回滚可以通过web来一键完成。walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境同时部署的开源上线部署系统。
walle 现已加入码云 gitee豪华GVP套餐,与github
同步发布,支持国产部署平台walle,支持国产代码托管码云 gitee。
特性:
- 类
gitlab
的RESTful API
,类gitlab
的权限模型,将来打通gitlab
,良心的惊喜 - 空间管理。意味着有独立的空间资源:环境管理、用户组、项目、服务器等
- 灰度发布。
websocket
实时展示部署中的shell console
- 完善的通知机制。邮件、钉钉
- 全新的UI
1.docker的安装
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
注意:在安装过程中,也许会遇到Requires: container-selinux >= 2.9 的异常;可以打开Centos下载包中的最新container-selinux包的地址,
然后运行:yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm
2.docker-compose安装
curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
3.创建walle.env
在docker-compose.yml同级目录新建walle.env,连接数据库MYSQL_USER默认使用root,如需使用其他用户,需自建用户更改walle.env文件
vi walle.env
Set MySQL/Rails environment MYSQL_USER=root MYSQL_PASSWORD=walle MYSQL_DATABASE=walle MYSQL_ROOT_PASSWORD=walle MYSQL_HOST=db MYSQL_PORT=3306 |
4.编写docker-compose的yaml文件
vim docker-compose.yml
# docker version: 18.06.0+ # docker-compose version: 1.23.2+ # OpenSSL version: OpenSSL 1.1.0h version: "3.7" services: web: image: alenx/walle-web:2.1 container_name: walle-nginx hostname: nginx-web ports: # 如果宿主机80端口被占用,可自行修改为其他port(>=1024) # 0.0.0.0:要绑定的宿主机端口:docker容器内端口80 - "80:80" depends_on: - python networks: - walle-net restart: always python: image: alenx/walle-python:2.1 container_name: walle-python hostname: walle-python env_file: # walle.env需和docker-compose在同级目录 - ./walle.env command: bash -c "cd /opt/walle_home/ && /bin/bash admin.sh migration && python waller.py" expose: - "5000" volumes: - /opt/walle_home/plugins/:/opt/walle_home/plugins/ - /opt/walle_home/codebase/:/opt/walle_home/codebase/ - /opt/walle_home/logs/:/opt/walle_home/logs/ - /root/.ssh:/root/.ssh/ depends_on: - db networks: - walle-net restart: always db: image: mysql container_name: walle-mysql hostname: walle-mysql env_file: - ./walle.env command: [ '--default-authentication-plugin=mysql_native_password', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci'] ports: - "3306:3306" expose: - "3306" volumes: - /data/walle/mysql:/var/lib/mysql networks: - walle-net restart: always networks: walle-net: driver: bridge 格式如果不对可以 点我下载(把后缀去掉)
5.一键启动
docker-compose up -d
注意:要再yaml目录下,而且env文件也要再此目录下。
docker ps -a #查看镜像 docker-compose down #关闭并删除镜像 docker-compose start/stop/rm 容器 #打开/停止/删除镜像
常见错误
1.如果遇见一下错误(Can’t connat to mysql server on ‘db’),请docker-compose down之后再
docker-compose up一次就可以了,这是mysql没有初始化完,就启动了python-server.
2.执行不了yaml文件提示版本不对时,通过命令docker-compose version 和 docker version 查看确
保是以下以上版本。
# docker version: 18.06.0+ # docker-compose version: 1.23.2+ # OpenSSL version: OpenSSL 1.1.0h