jenkins - 如何在詹金斯管道中访问 git commit 消息 INSIDE sh STEP?
问题描述
我需要从 git 存储库访问当前 fetch 的提交消息,同时sh
在 jenkins 中完成管道不同阶段的一些步骤;但我没有找到任何合适的解决方案。如果我可以将提交消息设置为环境变量,那也很好,这样我以后可以访问它。
请注意,这不是一个重复的问题,因为 stackoverflow 上的类似问题都没有完全解决我的需要。我需要在sh
管道的所有步骤中都有提交消息。
解决方案
您可以获取获取的提交 ID 的提交消息并将其设置为环境变量,如下所示:
stage('get_commit_msg') {
steps {
script {
env.GIT_COMMIT_MSG = sh (script: 'git log -1 --pretty=%B ${GIT_COMMIT}', returnStdout: true).trim()
}
}
}
然后,您可以${GIT_COMMIT_MSG}
在管道的任何下游阶段在 Shell 脚本中使用。