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

如何将文件传递到阻止上游作业的下游作业?

章侯林
2023-03-14
问题内容

我要完成的工作是从develop分支中签出html" target="_blank">代码,将其合并到master分支,构建app.war,运行测试,如果测试成功则推送到master分支。

测试应在需要的单独工作中运行app.war

我当前的设置如下:

  1. Job Main从中检出develop,将其合并master并构建app.war
  2. 作业MainTest在“ 后期制作”步骤中 触发作业(Test需要app.war预先创建)
  3. 如果Test成功,则在 发布构建操作中Main推送到master分支 __

我尝试使用 Copy Artifact Plugin, 但是问题在于,在 Post构建步骤中 触发时,我只能在 Post构建动作中
存档工件。Test __

如何通过app.warTest工作?可以 复制Artifact插件 吗?


问题答案:

1.复制工件

您可以在其周围放置包装器作业,并通过 在其他项目上 使用 Trigger / call生成
将Build作业和Test作业称为生成步骤。由于该构建现在已封装在其自己的工作中,因此您可以存档其工件并将其复制到该Test工作中。

2.共享工作区

另一种方法是在构建和测试之间共享一个工作区。

3.传递文件作为参数

将文件传递到下游作业的一种巧妙方法是,在Parameterized Trigger Plugin的帮助下将其作为参数传递。

您只需选择参数工厂,即可将文件推送到下游作业的工作空间中。 对于每个匹配文件, 在构建步骤中 调用一个构建在其他项目上触发/调用构建
。在此指定目标文件(允许使用通配符)及其在子工作空间中应获取的名称。

在此处输入图片说明

注: 您的下游工作并 没有 需要有选择 这个build参数 集,该文件将被复制两种方式。 编辑:这可能不再起作用,请参阅注释。



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

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

  • 问题内容: 我有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中心) 问题

  • 问题内容: 该设置用于构建和部署到Adobe AEM。 主构建作业从git存储库中提取,构建和打包,运行测试,然后触发应使用上游作业中已构建软件包的下游作业。 问题是下游作业失败并显示以下消息: 在我看来,由下游作业触发的某种方式的CopyArtifacts插件正在寻找错误位置的工件。正确的位置是 但是然后,它抱怨 下游作业从另一个项目复制工件,然后该生成是“触发此作业的上游生成”或“从最新完成的

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

  • Jenkins场景详细信息: ====================== -Jenkins中构建执行器的数量(在主/从上):3 -UpStream作业:USJobs,此作业可以在任何构建执行器上运行 -DownStream作业:DSJobs USJob在构建步骤中有这个:回声“生日快乐詹姆斯”,完成这项工作需要5秒钟 DSJob在构建步骤中有这个:回显“詹姆斯邦德死了”,完成这项工作 需要5秒钟