如何在Jenkins pipeline的sh步骤中访问git提交信息?

7
我需要访问来自git存储库的当前获取的提交消息,同时完成Jenkins管道中不同阶段的一些sh步骤; 但我没有找到任何适当的解决方案。如果我能将提交消息设置为环境变量,那么以后就可以访问它,这也很不错。
请注意,这不是一个重复的问题,因为stackoverflow上没有类似的问题完全涵盖了我的需求。我需要在我的管道的所有sh步骤中都有提交信息。

你能提供任何代码吗?例如一个简化的sh调用?你使用什么样的流水线?脚本式还是声明式? - Michael Kemmerzell
1个回答

32

您可以按照以下方式获取获取到的提交标识符的提交信息,并将其设置为环境变量:

stage('get_commit_msg') {
    steps {
        script {
            env.GIT_COMMIT_MSG = sh (script: 'git log -1 --pretty=%B ${GIT_COMMIT}', returnStdout: true).trim()
        }
    }
}

您可以在流水线的任何下游阶段中,在 Shell 脚本中使用 ${GIT_COMMIT_MSG}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接