我们正在使用哈德森与git.我们有一个构建/测试服务器,它编译我们的项目,然后是我们需要部署的QA服务器.
我们希望得到当前构建的git commit sha并使用它来提取适当的提交以便在我们的QA服务器上进行部署.
不幸的是,似乎hudon git插件没有在环境变量中设置git commit sha(例如svn插件在SVN_REVISION中执行).我们如何解决这个问题?
指针/示例将有所帮助,因为我是哈德森诺布.
谢谢
And*_*wik 54
我添加到Post build命令:
ENV
在日志中我找到了所有环境变量.他们之中有一些是:
BUILD_TAG=jenkins-Datagen-17
JOB_URL=http://jenkins:18080/job/Datagen/
USER=jenkins
GIT_COMMIT=ce9a3c1404e8c91be604088670e93434c4253f03
JENKINS_HOME=/var/lib/jenkins
JOB_NAME=Datagen
BUILD_ID=2011-06-22_15-26-06
GIT_BRANCH=master
EXECUTOR_NUMBER=0
NODE_LABELS=master
LOGNAME=jenkins
NODE_NAME=master
BUILD_NUMBER=17
Run Code Online (Sandbox Code Playgroud)
詹金斯版本: 2.46.2
Git 客户端: 2.4.5
下面的GIT
变量可以通过运行env
从命令shell
。
因此,要将它们注入到 Job 的环境变量中,请将单词添加env
到该Script Content
部分...
Job > Configure > Build Environment > Inject environment variables to the build process > Script Content
可能很晚了,但是您可以使用 API 在 jenkins 上执行此操作:
https://jenkins-server/job/job-name/lastStableBuild/api/json
Run Code Online (Sandbox Code Playgroud)
这提供了一个您可以解析的 JSON 对象。您还可以使用 tree 选项来获取更精确的 JSON 字符串。像这样的东西:
https://jenkins-server/job/job-name/lastStableBuild/api/json?tree=actions[lastBuiltRevision[branch[*]]]
Run Code Online (Sandbox Code Playgroud)
现在您可以使用 awk 解析出 SHA1 和 git 分支。