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

在Jenkins中检索内部版本号或下游内部版本的工件

充煌
2023-03-14
问题内容

我在詹金斯有一份工作(称为BIGJOB);几个构建步骤是使用参数化触发器插件来触发其他作业(称为SMALLJOB)的构建,然后等待它们完成。我需要做的是从SMALLJOB上触发的构建中检索工件。

最初,我认为我可以使用Copy Artifact插件从触发的SMALLJOB的“最后构建”中检索工件。当一次仅运行一个SMALLJOB时,这确实可以可靠地工作。

但是我运行了多个BIGJOB,它们都触发了多个SMALLJOB,因此使用“最后构建”对两个SMALLJOB同时完成并不可靠。

有没有更可靠的方法来从特定的下游作业中获取工件?如果我可以获取内部版本号,则可以使用curl来获取工件。


问题答案:

将来是否有其他问题困扰着这个问题:

在使用参数化触发器插件作为构建步骤时,如果触发器配置为启用了“阻止,直到被触发的项目完成其构建”,则以下环境变量可用于进一步的构建步骤:

  • LAST_TRIGGERED_JOB_NAME =“上一个项目已启动”
  • TRIGGERED_BUILD_NUMBER_ {项目名称} =“上次触发的内部版本号”

从2.17版开始

  • TRIGGERED_JOB_NAMES =“所有触发项目的逗号分隔列表”
  • TRIGGERED_BUILD_NUMBERS_ {项目名称} =“用逗号分隔的内部版本号列表已触发”
  • TRIGGERED_BUILD_RESULT_ {项目名称} =“项目的上次触发生成结果”
  • TRIGGERED_BUILD_RESULT_ {项目名称} RUN {内部版本号} =“内部版本号触发的内部版本的结果”
  • TRIGGERED_BUILD_RUN_COUNT_ {项目名称} =“为项目触发的内部版本数”

在插件网站上查看更多信息-问题中的链接。



 类似资料:
  • 问题内容: 您如何使用既不使用自定义代码也不使用外部依赖关系(例如Shell脚本)的文件来编写: 生成格式major.minor.revision的内部版本号(例如 01.02.34 )。 在每次编译源代码时自动递增修订。 每次执行dist(ribution)任务时,都会自动增加次要版本。 另外: 提供增加主号码的选项。 提供增加小号的选项。 主编号递增时,次编号和修订版本号设置为0。 每当次要编

  • 问题内容: 我的问题与 iTunes Connect 中版本和内部版本号的限制有关。我们只允许3个非负整数,并且内部版本号必须是递增的。 我正在设置一个 Jenkins 作业,以将我的构建自动上传到 iTunes Connect, 以便测试人员可以下载它们。 问题: 我们如何确保递增的内部版本号?即使我们在每次提交之前都在Xcode中手动更改了它(这似乎是错误的),也有多个开发人员在项目上工作,所

  • 问题内容: 我正在将jenkins- workflow作业迁移到新的基于模板的工作流作业。因为内部版本号用作构建工件版本的一部分,所以工作流必须生成新的工作流的内部版本号,而该数字应大于旧的工作流。不幸的是,“下一个内部版本号”插件不适用于工作流管道。 有人知道这样做的好方法吗? 问题答案: 尝试在Jenkins脚本控制台中的脚本下面运行。将“ workFlow”更改为您的工作名称

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

  • 问题内容: 我正在通过Jenkins运行量角器测试用例,并使用SauceLabs作为执行环境。我正在使用量角器黄瓜框架。我想从Jenkins传递内部版本号,以便可以将其传递给SauceLabs来组织我的测试执行结果。 我尝试了这篇文章中提到的参数 https://moduscreate.com/blog/protractor_parameters_adding_flexibility_automa

  • 问题内容: 如何设置Flutter应用程序的版本名称和版本代码,而不必进入Android和iOS设置? 在我的pubspec.yaml中 但我看不到内部编号的地方。 问题答案: 您可以在 pubspec.yaml 中的同一位置更新版本名称和版本代码号。只需将它们与标志分开即可。例如: 这表示 版本名称是 版本代码是 在新项目的文档中对此进行了描述(但是,如果您正在处理旧项目,则可能已将其删除):