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

Jenkins-从在不同节点中构建的上游作业复制工件

宋宇
2023-03-14
问题内容

有一个由开发团队控制的工作,该工作内置在另一个节点中。我在测试团队中,他们希望采用工件并在测试设备上进行部署。

我可以看到来自dev的那些工件存储在dev节点中的某个路径中。这是否意味着它必须先在Jenkins
master中存档,然后才能将其复制到我的工作中?我正在使用复制工件插件并不断收到错误

Failed to copy artifacts from <dev-job> with filter: <path-in-dev-node>

*一些新手问题,因为我刚从TeamCity搬到


问题答案:

您可能要使用:复制Artifact插件。

添加一个构建步骤以从另一个项目复制工件。

还考虑一下詹金斯(Jenkins)的后置步骤“存档工件”。

如果从另一个作业的工作空间进行复制,如果另一个作业正在进行或工作空间被擦除,会发生什么情况?该步骤将它们从节点复制到主节点,并将副本与构建日志等一起存储。只要保留构建日志,就可以通过UI使用它们。它会占用空间。

如果确实使用了归档工件,请考虑使用system属性jenkins.model.Jenkins.buildsDir将所有构建日志(和工件)存储在Jobs
config目录之外。分开两者(配置/日志)需要一些停机时间和工作。

您可能还需要考虑使用适当的存储库管理器(Nexus /
artifactory)

最后,您可能想了解有关使用Jenkins管道的知识,而不是依赖于链接的作业,触发器或用户等等。为什么呢
‘因为它更易于控制且易于维护。

ps:我不是artifactDeployer的忠实拥护者,但它可能对您有用。



 类似资料:
  • 问题内容: 是否可以通过多个上游作业的Join插件复制工件触发Jenkins作业? 我正在尝试使用“钻石”作业来设置Jenkins配置:my-trigger运行并产生两个作业,my-fork1和my- fork2,它们可以同时运行并且花费不同的时间,并且Join一旦两个分支完成,插件就会启动作业my-join。 my-trigger,my-fork1和my-fork2中的每一个都创建并指纹工件(例

  • 是否可能有一个Jenkins作业被来自多个上游作业的连接插件复制工件触发? 我试图设置一个带有“钻石”作业的詹金斯配置:我的触发器运行并产生两个作业,我的叉子1和我的叉子2,它们可以同时运行并花费不同的时间,而加入插件会同时启动我的加入作业叉子已完成。 my-触发器、my-fork1和my-fork2中的每一个都创建和指纹工件(例如,文本文件)。 我想使用“从另一个项目复制工件”工具,将“哪个构建

  • 我已经将Jenkins build配置为构建gradle项目并在其上运行测试(使用connectedInstrumentTest),但构建在启动几秒后失败。 com.android.ddmlib.installexception在com.android.ddmlib.device.installpackage(device.java:884)在com.android.builder.testing

  • 问题内容: 我有一大堆具有相同标签的节点。我希望能够在Jenkins中运行一个作业,该作业在具有相同标签的 所有 节点上执行并同时执行。 我看到了在詹金斯中使用矩阵配置选项的建议,但我只能想到一个轴(标签组)。当我尝试运行该作业时,似乎它只执行一次而不是300次(该标签组中的每个节点1次)。 我的另一条轴应该是什么?还是…有一些插件可以做到这一点?我曾经尝试过NodeLabel参数插件,然后选择“

  • 我正在尝试将我们的 jenkins 构建日志推送到 S3。我在构建阶段使用了Groovy插件和以下脚本 然后我使用 S3 插件将.txt文件推送到 S3。 但是这个脚本从主节点获取构建日志文件。构建日志如何从从节点传输到主节点?我可以在没有主节点参与的情况下访问我的从节点上的构建日志文件吗? 从节点必须在某处构建时保留构建日志?我似乎找不到。

  • 我有一个设置,其中存在一个 JenkinsMaster(jenkins-master)机器和一个JenkinsSlave Node(jenkins-server-one)。Slave Node用于编译Maven项目。这些项目是从Gitlab安装中拉下来的。 在主服务器端运行Jenkins作业时,我在控制台中看到以下错误: [ERROR]您指定的目标需要执行一个项目,但此目录(/var/jenkin