You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Jenkins共享库自身分支并用作Docker镜像标签?

解决方案

要在Jenkins共享库中获取自身的分支名(或指定的版本/tag),无需依赖流水线的env.GIT_BRANCH,直接利用Jenkins共享库内置的元数据对象即可实现需求。

具体实现

在共享库的runBuild方法中,通过this.library.version获取当前共享库被引用的分支/版本,以此作为Docker镜像标签:

// vars/runBuild.groovy
def call() {
    // 获取共享库分支/版本,默认分支场景兜底设为'production'
    def libBranch = this.library.version ?: 'production'
    
    // 构建ECR镜像地址,用共享库分支作为标签
    def ecrImage = "你的ECR账号ID.dkr.ecr.你的区域.amazonaws.com/目标镜像名:${libBranch}"
    
    // 执行镜像拉取命令
    sh "docker pull ${ecrImage}"
    
    // 后续构建逻辑...
}

逻辑说明

  • this.library是Jenkins为共享库脚本提供的内置元数据对象,其中version属性直接对应@Library注解中指定的分支/tag:
    • 使用@Library('library')时,如果共享库在Jenkins全局配置中设置了默认分支(如production),this.library.version会返回该默认分支名;若未配置默认分支,通过?: 'production'做兜底处理。
    • 使用@Library('library@experimental')时,this.library.version会直接返回experimental。
  • 该方法无需额外执行Git命令,直接从Jenkins共享库加载上下文获取信息,不会与流水线自身的分支混淆,高效且准确。

内容的提问来源于stack exchange,提问作者user17648384

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 04:22:58