Jenkins进行git多分支的docker镜像构建

      在项目开发过程中,我们使用git进行源码管理,Jenkins进行程序构建,并打包成docker镜像,但对同一个工程的不同分支改如何处理,要达到以下要求:不同的分支,docker镜像的tag不同。

      在实际操作过程中遇到一个问题:同一个git不同的分支在同一个工作目录中会产生同名的目录,如果构建两个job,指定不同的分支,在同时执行构建时会产生混乱,这就需要用户在操作时注意查看和区分。现在的想法时,操作时不需要参考其他的job,只专注要执行的job即可。

通过搜索查询到Git Parameter这个插件,它可以实现,用户在构建时,会把现有的分支或tag拉取过来,让用户进行选择要进行构建的分支或tag。下面是使用步骤:

 1,安装Git Parameter插件

进入系统管理中的“管理插件”,点击“可选插件”,右上角输入Git Parameter,找到该插件后点击左下方的【直接安装】。

Jenkins进行git多分支的docker镜像构建
 

2,插件安装成功后,就配置相关参数。

进行job的配置页面,勾选“参数化构建过程”,然后选择"GIT Parameter"。

Jenkins进行git多分支的docker镜像构建

将会展示parameter的所需信息,填写考如下:

Jenkins进行git多分支的docker镜像构建
 接下来在源码中使用添加的parameter,注意:红框处要使用$加参数名方式,参数名为在上一步中添加的name。

Jenkins进行git多分支的docker镜像构建

接下来要改造docker镜像构建过程,这里使用shell的方式进行构建。注意:参数在shell中可以作为环境变量直接使用。shell中进行判断时会将/转换为目录地址,所以要在红圈内进行转换。

Jenkins进行git多分支的docker镜像构建

3.添加成功后,“立即构建”变成了"Build with Parameters",点击后进入参数(分支)选择页面。选择参数,点击“开始构建”。

Jenkins进行git多分支的docker镜像构建

到现在就可以根据选择的分支,产生不同tag的镜像了,用户操作时不依赖其他job,直接选择要构建的分支即可。

相关推荐