当前位置: 首页 > 面试题库 >

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

南宫阳冰
2023-03-14
问题内容

我有2个工作(A和B)。作业A指向URL-A上的git存储库。作业B指向URL-B上的另一个git repo。

作业A完成并稳定后,它将触发作业B并传递在作业A的构建中使用的git commit哈希。

最简单的方法是什么?

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


问题答案:

在作业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中的全部或部分参数。



 类似资料:
  • 问题内容: 我有一个名为 buildall 的管道作业,如下所示: 该 buildall 作业有25个参数。我想将所有 buildall 的参数传递给 job1 。有没有一种简单的方法可以代替手动指定每个参数呢? 在此问题中:向下游作业传递管道参数是一个子问题,但从未得到回答: 甚至更好的是,有没有一种麻烦的方法可以将所有管道参数传递给下游作业。 我有同样的问题。 问题答案: 以下似乎有效(尽管我

  • 问题内容: 我正在使用具有集成交付管道功能(https://jenkins.io/solutions/pipeline/)的Jenkins v2.1 来编排两个现有构建(构建和部署)。 在我的参数化构建中,我有3个用户参数设置,也需要在管道中选择该参数。 管道脚本如下: 除以外,此方法均正常运行。当我构建管道时,会引发以下错误: 如何解决此类型转换错误?甚至更好的是,有没有一种麻烦的方式可以将所有

  • 我有2个自由式詹金斯工作,比如工作A(上游)和工作B(下游)。我想在作业 B 完成后发送可编辑的电子邮件。另外,我想在电子邮件内容和主题中使用作业名称,内部版本号和作业A的状态。任何人都可以帮我吗? 我尝试使用构建后步骤:“在其他项目上触发参数化构建”,并使用预定义参数作为: UPSTREAM_BUILD_NUMBER=$BUILD_ID UPSTREAM_JOB_NAME=$JOB_ NAME

  • 问题内容: 我有3个版本:A-是控制流量的主版本B-注释者版本C- 将在BI要向A添加String参数后执行,因此用户将手动输入一些String,但我不确定如何我可以将此参数传递给B吗?可以说这是我的构建流程: build(“ B”)build(“ C”)我不知道如何将参数传递到B,我应该从构建流程还是从B构建配置中做到这一点,我该怎么做。 预先感谢亚历克斯 问题答案: 像这样: https://

  • 问题内容: 我正在使用testNG,Selenium和Jenkins建立测试自动化框架。该代码工作正常,它读取一个或多个csv文件并将其用作测试数据。我从詹金斯进行测试。 如您所见,浏览器,URL和CSV文件是硬编码的。我希望能够将这些作为参数传递。做这个的最好方式是什么?是否可以让他们通过詹金斯? 我正在考虑构建一个仪表板,在其中可以指定要使用哪种浏览器运行哪些测试(csv文件)。 这是我正在运

  • 我使用的是Jenkins v2.1,它具有集成交付管道功能(https://jenkins.io/solutions/pipeline/)协调两个现有构建(构建和部署)。 在我的参数化构建中,我有3个用户参数设置,这些参数也需要在管道中选择。 管道脚本如下所示: 除了之外,这可以正常工作。当我构建管道时,会抛出以下错误: 如何解决此类型转换错误?或者更好的是,是否有一种不那么麻烦的方法,可以将所有