Jenkins进行git多分支的docker镜像构建
在项目开发过程中,我们使用git进行源码管理,Jenkins进行程序构建,并打包成docker镜像,但对同一个工程的不同分支改如何处理,要达到以下要求:不同的分支,docker镜像的tag不同。
在实际操作过程中遇到一个问题:同一个git不同的分支在同一个工作目录中会产生同名的目录,如果构建两个job,指定不同的分支,在同时执行构建时会产生混乱,这就需要用户在操作时注意查看和区分。现在的想法时,操作时不需要参考其他的job,只专注要执行的job即可。
通过搜索查询到Git Parameter这个插件,它可以实现,用户在构建时,会把现有的分支或tag拉取过来,让用户进行选择要进行构建的分支或tag。下面是使用步骤:
1,安装Git Parameter插件
进入系统管理中的“管理插件”,点击“可选插件”,右上角输入Git Parameter,找到该插件后点击左下方的【直接安装】。
2,插件安装成功后,就配置相关参数。
进行job的配置页面,勾选“参数化构建过程”,然后选择"GIT Parameter"。
将会展示parameter的所需信息,填写考如下:
接下来在源码中使用添加的parameter,注意:红框处要使用$加参数名方式,参数名为在上一步中添加的name。
接下来要改造docker镜像构建过程,这里使用shell的方式进行构建。注意:参数在shell中可以作为环境变量直接使用。shell中进行判断时会将/转换为目录地址,所以要在红圈内进行转换。
3.添加成功后,“立即构建”变成了"Build with Parameters",点击后进入参数(分支)选择页面。选择参数,点击“开始构建”。
到现在就可以根据选择的分支,产生不同tag的镜像了,用户操作时不依赖其他job,直接选择要构建的分支即可。