walle发布系统的搭建

简介:

前面的教程主要参考的是walle的github的手册配置的。后面是实际的业务上的配置部分。做个笔记,防止过段时间自己忘了,也给其他人使用的时候提供个参考。


实验拓扑:

walle服务器   192.168.2.11  监听在82端口

gitlab服务器  192.168.2.11  监听在80端口

web服务器   192.168.2.13  nginx网站代码目录:/usr/share/nginx/html/

 

实验要求:

git@node1:root/ops.git这里的项目部署到web服务器(192.168.2.13)上。

 

0.安装gitlab

gitlab的安装不是这里的重点,略过。

1.安装walle

步骤略过,基本上参照walle官网即可安装完成。

注意点:

0wallle运行环境的php版本不低于5.4

1、修改数据库的地方有2个。config/local.php config/web.php 2个文件里的mysql连接参数都要修改,不然执行./yii walle/setup会报错。

2nginx里面配置的root目录为walle下面的web/目录,而不是walle解压后的根目录。

 

我的gitlabwalle搭建在同一台机器上,gitlab占用了80端口,因此我这里的walle运行在82端口上。

 

登录的账号和密码都是admin

 

注意:

如果弹出个错误,这是因为php出于安全考虑将exec 功能禁用掉了。

wKioL1gusCrDJPjkAABB9UISwV0344.png

我们修改php.ini/usr/local/php/etc/php.ini disable_functions 里面的exec删除掉,然后重启php-fpm即可。

2.使用walle部署代码

登陆进去后,点击项目配置,新建项目。

我的配置如下图:

wKiom1gusEiAme6jAADe-Lsp3js512.png


我用的是默认的路径,后面我们需要手动创建这些目录,并且修改这些目录的权限。

 

2.1 walle服务器、web服务器上执行:

修改服务器上nginxphp-fpm的运行账户为web

实际上walle服务器的nginxphp运行账户是不是web好像没什么影响,但是一般我们线上的都是用的独立的账户运行这些服务的。

 

useradd web

su - web

ssh-keygen-t rsa

ssh-copy-id -i .ssh/id_rsa.pub web@localhost

exit

 

vi /etc/php-fpm.d/www.conf 修改运行账户和运行组为web

vi /etc/nginx/nginx.conf 修改运行账户为web

 

/etc/init.d/nginxrestart

/etc/init.d/php-fpmrestart

 

2.2 walle服务器上执行:

chown web.web -R  /data/www/deploy/

chown web.web -R  /tmp/walle/

cat /home/web/.ssh/id_rsa.pub 将内容粘贴到 web服务器192.168.2.13web用户的authorized_key里面。

 

cat /home/web/.ssh/id_rsa.pub 将内容粘贴到gitlab后台的deploykey列表中。

 

 

2.3 web服务器上执行:

chown web.web -R  /data/release/  允许web用户对存放代码的目录的读写操作。

chown web.web  /usr/share/nginx -R  修改nginxweb目录权限为web用户和组

rm -fr /usr/share/nginx/html    必须先删除这个实际的网站代码目录,因为walle发布时候会自动创建这个软链接的

echo 'webALL = (ALL) NOPASSWD: ALL ' >> /etc/sudoers   添加sudo权限,用户部署代码后重启nginx或者php-fpm或者tomcat等业务

 

2.4 检测配置是否成功:

walle的项目配置里面,点击“检测”

wKiom1gusHTT3XYpAAAosn2r7hs902.png

如果出现下图,则说明配置成功了,如果不成功的话,系统也会提示哪里出错的。

wKioL1gusHSSWncVAAAZcD2mgTo511.png

 

2.5 创建上线单:

wKiom1gusJ3AX82sAAB_bUC2vHA768.png


版本选取下拉列表中,会列出gitlab里面的commit记录。

配置完成后,点击提交。如下图:

wKioL1gusJ3ReiI9AABMiLClYTY514.png


点击右侧的绿色的上线,然后点击部署即可。成功的话,如下图。如果失败了,会提示哪里配置错了的。

wKiom1gusLujrM-8AABAuNcEhwQ903.png


2.6 代码回滚:

walle支持代码回滚,如下图。

wKiom1gusNKh8x1pAABxO6x4TgY433.png


2.7 多用户管理:

walle支持多用户,可以由管理员添加用户,也可以自己在登录界面注册账户。

注意的是,如果需要支持用户注册的话,需要walle里面配置发送邮件的账户。

配置具体操作略过。










本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1874304,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
人工智能 运维 安全
唯一! 阿里云专有云全维度满分
近日,国际数据公司IDC发布《中国专有云运营平台技术能力评估,2025》,阿里云是唯一在七个维度全部获得满分的厂商,体现了飞天企业版全面领先的技术实力与产品先进性。
344 0
|
边缘计算 Kubernetes Linux
KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)
KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)
480 1
|
Prometheus 监控 Kubernetes
免费的集群管理软件有哪些?5款主流推荐
集群管理是对多台服务器或计算节点进行协调、调度和维护的过程,核心在于资源分配、负载均衡、监控和故障恢复。常见的集群管理软件包括板栗看板、Kubernetes Dashboard、Zabbix、Prometheus + Grafana 和 Nagios Core。这些软件各有特色,适用于不同的需求场景,如项目管理、容器编排、实时监控等。选择合适的集群管理工具,可以提升团队效率,降低运营成本,确保系统稳定运行。
3924 4
|
API Python
Python制作gif动图
Python制作gif动图。更多内容请关注本人微信公众号:python学习杂记
429 0
|
存储
cephFS高可用分布式文件系统部署指南
关于如何部署高可用的cephFS分布式文件系统,包括集群的搭建、验证高可用性以及实现两主一从架构的详细指南。
1373 10
|
关系型数据库 MySQL Linux
error: Failed dependencies: libncurses.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 libtinfo.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 如何解决?
error: Failed dependencies: libncurses.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 libtinfo.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 如何解决?
2368 3
|
JavaScript 前端开发 开发者
Element-UI快速入门
Element-UI快速入门Element-UI快速入门
1613 0
Element-UI快速入门
|
Web App开发 开发者
Apifox 网页端调试本地接口
Apifox 网页端调试本地接口
2425 0
|
PHP 数据库 开发者
Laravel 使用 Debugbar、Blackfire 性能分析定位程序问题
本文介绍了如何使用 Laravel 的 Debugbar 和 Blackfire 工具进行性能分析和排查程序问题。通过详细的代码示例和演示的代码执行结果,展示了如何使用这些工具以及它们的常见实用方法。
922 1
|
存储 Kubernetes 监控
KubeSphere平台安装系列之一【Kubernetes上安装KubeSphere(亲测--实操完整版)】(1/3)
KubeSphere平台安装系列之一【Kubernetes上安装KubeSphere(亲测--实操完整版)】(1/3)
644 0

热门文章

最新文章

下一篇
开通oss服务