在我的构建控制台顶部附近,我看到一个“上次构建的修订版:”,带有修订号。如何在我的构建脚本中访问这个最后构建的 rev #?我正在使用 Gradle,但我认为这并不重要。Jenkins 是否在系统属性中提供最后构建的 rev #?当然,从我的构建脚本访问这必须是微不足道的......
问问题
12684 次
5 回答
12
您可以直接访问 JenkinsBUILD_NUMBER
作为系统环境变量。
task getBuildNumber << {
ext.env = System.getenv()
ext.buildNumber = env.BUILD_NUMBER?.toInteger()
println "Build Number: $buildNumber"
}
于 2012-07-18T01:51:51.437 回答
10
事实证明,Git 插件确实将最后一个构建版本导出为环境变量。因此,不要使用公认的答案:
curl -sf "$BUILD_URL/api/xml?xpath=//lastBuiltRevision/SHA1/text()"
你可以改用这个:
GIT_PREVIOUS_COMMIT
准确查看构建脚本可用内容的一种防故障方法是选择Add Build Step > Execute Shell
然后简单地添加以下内容:
export
查看您的控制台(用于构建),您应该会看到许多可用的出色环境变量。我可以使用的与 git 相关的变量(使用 git 插件)是:
GIT_AUTHOR_EMAIL
GIT_AUTHOR_NAME
GIT_BRANCH
GIT_COMMIT
GIT_COMMITTER_EMAIL
GIT_COMMITTER_NAME
GIT_PREVIOUS_COMMIT
GIT_URL
最后,要查看不太全面的可用环境变量列表,您也可以访问以下网址:http://[your-jenkins-domain-and-port]/env-vars.html
于 2014-03-12T19:23:21.927 回答
2
我认为 git 插件不会将最后构建的修订版导出为环境变量,但使用简单的 shell 命令可以轻松获得信息,例如:
curl -sf "$BUILD_URL/api/xml?xpath=//lastBuiltRevision/SHA1/text()"
BUILD_URL 始终指向构建自己的页面,其余信息似乎可以使用 xml api 获得。
于 2012-07-17T21:34:16.067 回答
2
当前内部版本号作为 Jenkins 变量BUILD_NUMBER提供
- 在 Unix 中,它为您设置为${BUILD_NUMBER}
- 在 Windows 中,它以%BUILD_NUMBER%的形式提供
您的 Jenkins 服务器上提供了完整的变量列表,网址为:
http://[your-jenkins-server] /env-vars.html
于 2012-07-17T20:04:57.610 回答
1
Git 插件从checkout()
命令返回信息。在 Pipeline 脚本中,这可用于获取先前的提交:
def scmVars = checkout scm
scmVars.GIT_PREVIOUS_COMMIT
于 2020-11-19T16:11:14.280 回答