前言
公司一直使用的是Jenkins自动部署,但是以前使用的是svn管理项目代码,所以一直是Jenkins+svn实现的自动部署。现在公司切换GitLab之后,就需要转变为Jenkins+GitLab了。今天也研究了一下,顺便记录一下Jenkins的一些配置。
正文
我们在Jenkins中新建一个工程,此工程即为我们需要部署的工程。
接下来我们就要进行配置了,Jenkins这个配置还是蛮多的,但是感觉Jenkins做的还不错,配置起来并不是特别的麻烦。
1.General
首先Description不用多说了,工程描述。我们说说Discard old builds选项,Jenkins 提供了“Discard old builds”的选项可以配置保留几天/最多几个的build 和 artifacts,缺省这个选项不会勾上。不勾选时,默认值为365,显然这个值过大了。
打开一个Jenkins job的Configure页面,勾选上”Discard old builds”,填入Day of keep builds (保留几天的build记录)和Max# of builds to keep (保留最多几个build记录)。点击Advanced按钮,还可以填入Days of keep artifacts (保留几天的artifact)和 Max# of builds to keep with artifacts (保留最多几个artifacts)。作者这里只设置了前者的两个选项,设置为7天。
接下来看到This project is parameterized,参数化构建过程,这里可以配置这个工程构建时的参数。由于我们使用的是GitLab所以这里我们需要添加一个Git Parameter。Git Parameter我们可选择Git的某个分支或者某个标签来构建服务。这里作者采用的是标签的方式,所以参数类型设置为Tag。
作者这里还添加了一个参数Choice Parameter,这里设置我们在构建时可以选择是发布新的构建还是回滚之前的构建。
2.Source Code Management
这个选项用来配置我们项目的代码资源管理是什么类型,这里选择Git,然后在Repository URL中输入我们GitLab中的项目库地址,Credentials选择具有检出代码权限的用户。这里是需要配置的,具体配置大家可以自行百度。这里就不做过多叙述了。Jenkins会使用配置的用户到配置的项目库地址检出代码,然后Jenkins会创建一个workspace来存放检出的代码。
然后在Branch Specifier (blank for ‘any’)栏输入我们上面配置好的参数tag,这里写法为${tag},表示我们取tag参数。证明是取用Git上的某个标签来构建。
勾选Build whenever a SNAPSHOT dependency is built。 当job依赖的快照版本被build时,执行本job。
3.Build
中间几个选项我们没有什么需要配置的,所以我们直接跳到Build栏目。这里配置pom.xml以及build时执行的maven命令。
4.Post-build Actions
这一项我们可以配置构建完成之后的操作。比如我们在构建之后想执行一个启动脚本就可以用这一项来配置。