Jenkins:将git commit hash传递给下游作业

Eli*_*ley 4 git jenkins

我有2个工作(A和B).作业A指向URL-A的git仓库.作业B指向URL-B处的不同git仓库.

一旦作业A完成并且稳定,它应该触发作业B并传递作业A构建中使用的git commit hash.

实现这一目标的最简单方法是什么?

(作业B对应于从URL-B检出的具有2个参数的脚本:git提交哈希和将包装在Docker镜像中并推送到Docker中心的JAR工件)

Dvi*_*669 8

当您使用GIT插件从Job A签出时,您已经有一个插件导出的$ GIT_COMMIT参数:

环境变量

git插件设置了几个可以在脚本中使用的环境变量:

GIT_COMMIT - 当前的SHA

GIT_BRANCH - 远程存储库的名称(默认为origin),后跟当前正在使用的分支的名称,例如"origin/master"或"origin/foo"

等等

只需确保将此参数显式传递给作业B(预定义参数,文件中的参数等).


Elp*_*Kay 5

在作业B中,检查This project is parameterized。定义一个String Parameter,将Name设置COMMIT为例如。在就业市场中,设置Post-build ActionsTrigger parameterized build on other projectsProject to build是Job B的名字,用Trigger when build isas表示StableAdd ParametersPredefined parameters,您刚刚放在COMMIT=$commit$commit通常是在作业A中定义的参数。您可以在作业B中添加其他预定义的参数,并将值传递给作业A中的全部或部分参数。