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

如何通过Jenkinsfile流水线使用Git提交哈希自动为Docker镜像打标签

核心修复点

  • 修正变量引用方式:environment块定义的全局变量直接使用${tag}调用,不需要额外加var.前缀
  • 清理命令返回值:sh步骤返回的标准输出默认携带末尾换行符,添加.trim()方法去除首尾空白字符,避免Docker标签格式错误
  • 修正Git命令参数:获取短提交哈希的参数为--short(两个短横线),原脚本参数缺少一个横线导致命令执行异常
  • 移除冗余的tail过滤:正常场景下git rev-parse --short=10 HEAD仅返回单行哈希结果,不需要额外用tail过滤行
  • 优化重复操作:Docker登录仅需在流水线最开始执行一次即可,无需每个构建阶段重复执行

修复后完整Jenkinsfile

pipeline {
    agent any
    environment {
        // 修正Git命令,添加trim()清理返回值
        tag = sh(returnStdout: true, script: "git rev-parse --short=10 HEAD").trim()
    }

    stages {
        stage('Docker login') {
            steps {
                withCredentials([usernamePassword(credentialsId: 'common-dockerhub-up', usernameVariable: 'HUB_USER', passwordVariable: 'HUB_PASS')]) {
                    sh "docker login -u ${HUB_USER} -p ${HUB_PASS}"
                }
            }
        }
        stage('Build core lodestone image') {
            steps {
                sh "docker build -f Dockerfile.lodestone -t mirantiseng/lodestone:${tag} ."
                sh "docker push mirantiseng/lodestone:${tag}"
                // 可选配置:同时打latest标签推送
                // sh "docker tag mirantiseng/lodestone:${tag} mirantiseng/lodestone:latest"
                // sh "docker push mirantiseng/lodestone:latest"
            }
        }
        stage('Build core lodestone-comment image') {
            steps {
                sh "docker build -f Dockerfile -t mirantiseng/lodestone-comment:${tag} ."
                sh "docker push mirantiseng/lodestone-comment:${tag}"
            }
        }
        stage('Build core lodestone-mover image') {
            steps {
                sh "docker build -f Dockerfile.mover -t mirantiseng/lodestone-mover:${tag} ."
                sh "docker push mirantiseng/lodestone-mover:${tag}"
            }
        }
    }
    // 可选配置:流水线结束后自动登出Docker
    post {
        always {
            sh "docker logout"
        }
    }
}

内容的提问来源于stack exchange,提问作者R. Barrett

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:27:01