jenkins发布回滚流程

公司基本都是用PHP写的后台代码,所以决定做一个jenkins自动构建代码,省着总让我手动一个一个文件传。
我要达到的最终目的是:在一个项目里面可以选择发布和回滚,构建过程清晰明了。
我的心路历程是这样的:
首先架构情况为gitlab和jenkins都是在本地,服务器都是买的云服务器,所以要在本地打包,接着通过jenkins的Send build artifacts over SSH插件上传到云服务器
然后之前用Phing插件做了一个只能发布,不能回滚的build.xml。也没细研究,肯定也能用它做回滚。用这个做的好处就是构建时候,构建过程特别清晰,明了。因为没细研究,所以我就用参数化构建,接着写一个脚本完成的。这样做就是我要的最终目的–清晰明了没达到,总感觉乱乱的,毕竟看过Phing之后,别的就没法看了
最后就是创建过程

1.添加参数化构建过程

这里写图片描述

2.添加源码管理

这里写图片描述

3.添加构建步骤Execute shell

这里写图片描述

这里 ${WORKSPACE}、${JOB_NAME}、${BUILD_NUMBER}都是jenkins内置变量,这里我把官网的翻译贴出来:

BUILD_NUMBER
当前版本号,例如:153
JOB_NAME
此版本的项目名称
WORKSPACE
作为工作空间分配给构建目录的绝对路径。

脚本具体内容不难,就是如果选择“Deploy”就执行创建文件夹(用于保存压缩后的文件),然后执行压缩文件,后面我加了一个超过设定时间,就删除文件的句子。因为怕文件太多,占用空间。
如果选择”RollBACK”,获取到要回滚的BUILD_NUMBER,查找到文件内容包含 BUILD_NUMBER的压缩文件,我就把这个文件复制成为最新的构建文件。

4.添加构建后操作(用于把本地压缩好的文件上传到云服务器上)

这里写图片描述

最后就是把压缩好的文件上传到云服务器上,并解压到指定目录。

最终效果图如下:

这里写图片描述

这种方法可能比较蠢,但是还算比较简单高效。这里面写出了一些我的心路历程,就是我在制作前期所想的,在网上找到相关资料可能很多都跟我要的不匹配,所以就自己写了一个。如果有更好的办法,请大神们不吝赐教

猜你喜欢

转载自blog.csdn.net/leo15561050003/article/details/79818176