有一个由开发团队控制的工作,该工作构建在另一个节点中。我在测试团队中,他们希望使用工件并在测试设备上进行部署。
我可以看到来自dev的那些工件存储在dev节点中的某个路径中。这是否意味着它必须先存储在Jenkins master中,然后才能将其复制到我的工作中? 我正在使用Artifact插件并不断收到错误
Failed to copy artifacts from <dev-job> with filter: <path-in-dev-node>
*自从我刚从TeamCity搬出以来,出现了一些新手问题
答案 0 :(得分:2)
您可能要使用:Copy Artifact plugin。
添加了一个构建步骤来从另一个项目复制工件。
还要考虑,詹金斯(Jenkins)后置步骤“存档工件”。
如果从另一个作业的工作空间进行复制,那么如果正在进行另一个作业或擦除了该工作空间会怎样?该步骤将它们从节点复制到主节点,并与构建日志等一起存储副本。只要保留构建日志,就可以通过UI使用它们。它会占用空间。
如果确实使用了归档工件,请考虑使用系统属性jenkins.model.Jenkins.buildsDir
将所有构建日志(和工件)存储在Jobs config目录之外。将两者分开(配置/日志)需要一些停机时间和工作。
您可能还需要考虑使用适当的存储库管理器(Nexus / artifactory)
最后,您可能想了解有关使用Jenkins pipeline的知识,而不是依赖于链接的作业,触发器或用户等。 Why? '因为它更易于控制,更易于维护。
ps:我不是artifactDeployer的忠实拥护者,但它可能对您有用。
pps:您可能想深入了解此答案:Jenkis downstream job fails to find upstream artifacts