欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-30 21:09:21
...

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

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

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

 1,安装Git Parameter插件

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

Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 
 

 

 

 

 

 

 

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

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

Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 

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

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

Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 

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

Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 

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

Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 

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

  • Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 
  • 大小: 152.4 KB
  • Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 
  • 大小: 65.9 KB
  • Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 
  • 大小: 124.5 KB
  • Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 
  • 大小: 126.7 KB
  • Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 
  • 大小: 140.2 KB
  • Jenkins进行git多分支的docker镜像构建
            
    
    博客分类: Jenkinsjava编程 jenkisgit branchdocker 
  • 大小: 60.6 KB