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/

实验要求:

将[email protected]:root/ops.git这里的项目部署到web服务器(192.168.2.13)上。

0.安装gitlab

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

1.安装walle

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

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

登录的账号和密码都是admin

注意:

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

下面,我们来修改php.ini

编辑/usr/local/php/etc/php.ini

将disable_functions 里面的exec删除掉,然后重启php-fpm即可。

2.使用walle部署代码

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

我的配置如下图:

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

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

# 修改服务器上nginx、php-fpm的运行账户为web

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

useraddweb

su- web

ssh-keygen-t rsa

ssh-copy-id.ssh/id_rsa.pub [email protected]

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服务器上执行:

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

chownweb.web -R  /tmp/walle/

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

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

2.3 web服务器上执行:

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

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

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

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

2.4 检测配置是否成功:

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

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

2.5 创建上线单:

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

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

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

2.6 代码回滚:

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

2.7 多用户管理:

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

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

配置具体操作略过。

walle总结:

walle是通过软链接实现多版本控制的。每次同步都是全量git clone代码。这样每次传输的代码量比较大。但是从安全角度考虑这点传输量还是可以接受的。

时间: 2024-08-08 21:56:53

walle发布系统的搭建的相关文章

Walle 2.0 发布系统

目录 walle 2.0 1.walle原理 1.1.walle原理图 1.2.权限设计模型 2.部署walle 2.1.依赖检查安装 2.2.walle部署 3.Walle使用 3.1.用户配置 3.2.项目配置 3.3.做一次上线流程 3.4.版本的回滚 walle 2.0 walle官方文档 1.walle原理 1.1.walle原理图 walle有2个版本,walle 1.x版本使用PHP语言编写,walle 2.x版本使用python重写,两个版本不相兼容.walle 2.0支持各种w

Maven+Hibernate+Spring+Spring MVC开发新闻发布系统

使用Maven+Hibernate+Spring+Spring MVC开发新闻发布系统 课程学习地址:http://www.xuetuwuyou.com/course/163 课程出自学途无忧网:http://www.xuetuwuyou.com 课程介绍 一.课程用到的软件: 1.jdk 1.8 2.eclipse neon 3.tomcat 8 4.jetty 5.MySQL  6.navicat 9+ 二.课程涉及到的技术点 1.Maven基础 2.Maven高级 3.Hibernate

Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境

原文:Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境 Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. The Raspberry Pi Foundation 是英国一个致力于科技推广的慈善组织,为广发爱好者和DIY科技迷开发了搭载ARM架构处理器的 mini 电脑 Raspberry Pi 并获得了成功.而微软最新发

一步一步用jenkins,ansible,supervisor打造一个web构建发布系统

新blog地址:http://hengyunabc.github.io/deploy-system-build-with-jenkins-ansible-supervisor/ 一步一步用jenkins,ansible,supervisor打造一个web构建发布系统. 本来应该还有gitlab这一环节的,但是感觉加上,内容会增加很多.所以直接用github上的spring-mvc-showcase项目来做演示. https://github.com/spring-projects/spring-

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(34)-文章发布系统①-简要分析

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(34)-文章发布系统①-简要分析 系列目录 最新比较闲,为了学习下Android的开发构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与,虽然有点没有目的的学习,但还是了解了Android的基本开发构成,我还是会持续更新本系列的一些知识点的用法. 说句实在话,我很佩服那些能连续好几年每个星期都有一篇文章的人,能坚持真是一种幸福. 一张图回顾一下我们做了那

【新闻发布系统】项目文档

[新闻发布系统]项目文档 一.项目需求 1.具体功能 *修改新闻主题 *删除新闻主题 *首页显示固定主题的新闻标题(左侧的"国内新闻""国际新闻") *首页按主题动态显示新闻 2.技能点 *使用集合类存取对象 *使用SQL语言操作数据表 *使用JDBC操作数据库(连接数据库和关闭资源,对数据库表进行增删改查的操作) *能够编写jsp页面 *使用jsp处理请求(表单请求/URL请求) *使用jsp的内置对象实现访问控制(使用session保存用户信息/能够从sessi

ubuntu 系统中搭建bugzilla系统

我在ubuntu上安装bugzilla系统部署,也是一头雾水,现在能做的也就是从网络上借鉴各种大牛的教程然后加上自己的总结和实际操作中遇到的困难从而记录下来写成博客. Bugzilla简介 Bugzilla是一个共享的免费的产品缺陷记录及跟踪工具(Bug-Tracking System).由Mozilla公司提供.创始人是Terry Weissman,开始时使用一种名为"TCL"的语言创建的,后用Perl语言实现,并作为Open source发布.它可以管理软件开发中缺陷的提交(new

.NET 日志系统的搭建:log4net+kafka+elk

前言 公司的程序日志之前都是采用log4net记录文件日志的方式,但是随着后来我们团队越来越大,项目也越来越大,我们的用户量也越来越多. 慢慢系统就暴露了很多问题,这个时候我们的日志系统已经不能满足我们的要求. 其主要有下面几个问题: 随着我们访问量的增加,我们的日志文件急剧增加 多且乱的文件日志,难以让我们对程序进行排错 文件日志的记录耗用我们应用服务器的资源,导致我们的应用服务器的处理用户请求的能力下降 我们的日志分布在多台应用服务器上,当程序遇到问题时,我们的程序员都需要找运维人员要日志,

.NET下日志系统的搭建——log4net+kafka+elk

原文:.NET下日志系统的搭建——log4net+kafka+elk .NET下日志系统的搭建——log4net+kafka+elk# 前言# 我们公司的程序日志之前都是采用log4net记录文件日志的方式(有关log4net的简单使用可以看我另一篇博客),但是随着后来我们团队越来越大,项目也越来越大,我们的用户量也越来越多.慢慢系统就暴露了很多问题,这个时候我们的日志系统已经不能满足我们的要求.其主要有下面几个问题: 随着我们访问量的增加,我们的日志文件急剧增加 多且乱的文件日志,难以让我们对