在我的构建控制台顶部附近,我看到一个“Last Built Revision:”w / a revision#。如何在构建脚本中访问最后构建的rev#?我正在使用Gradle,但我认为这不重要。 Jenkins是否在系统属性中提供最后构建的rev#?当然,从我的构建脚本访问这一定是微不足道的......
答案 0 :(得分:12)
您可以直接访问Jenkins BUILD_NUMBER
作为系统环境变量。
task getBuildNumber << {
ext.env = System.getenv()
ext.buildNumber = env.BUILD_NUMBER?.toInteger()
println "Build Number: $buildNumber"
}
答案 1 :(得分:9)
事实证明,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
答案 2 :(得分:2)
当前版本号以Jenkins变量 BUILD_NUMBER
提供 Jenkins服务器上提供了完整的变量列表,网址为:
http:// [your-jenkins-server] / env-vars.html
答案 3 :(得分:2)
我认为git插件不会将最后构建的版本导出为环境变量,但使用简单的shell命令可以轻松获取信息:
curl -sf "$BUILD_URL/api/xml?xpath=//lastBuiltRevision/SHA1/text()"
BUILD_URL始终指向构建自己的页面,其余信息似乎可以使用xml api获得。
答案 4 :(得分:0)
Git插件从checkout()
命令返回信息。在管道脚本中,这可用于获取上一个提交:
def scmVars = checkout scm
scmVars.GIT_PREVIOUS_COMMIT