在作业工作区旁边访问Jenkins主机驱动器

时间:2015-08-19 21:49:23

标签: jenkins

我想分享一个jenkins工作的副产品,另一个跟在后面的工作。

我知道我可以设置“使用自定义工作区”,但这会将作业合并在一起;这不是我想要的。我只需要在一个位置移动几个文件,这些文件将被下一个作业读取。

到目前为止,我无法找到你如何告诉Jenkins工作寻找特定的文件夹;因为除了作业工作区文件夹中的内容之外,它没有文件系统的概念。

有没有办法访问主机文件系统,或者在jenkins中声明共享文件夹(比如在主工作区文件夹中,其中包含所有其他作业?),所以我可以复制和读取其中的文件,来自不同的工作?

在可能的情况下,我想避免插件和附件;我想使用Jenkins基础包含的内容。

2 个答案:

答案 0 :(得分:1)

我意识到你想要避免使用插件,但Jenkins-y的方法是使用Copy Artifacts plugin,这正是你想要的。

尝试自行管理文件系统时可能会遇到各种各样的问题。 (在不同的构建节点上运行时,如何发布到公共位置?如何处理不成功的构建?)此解决方案使用Jenkins跟踪构建和工件。在没有单独的工件库的情况下,它比尝试自己管理它要好得多。

使用复制工件:

  • 作为构建后步骤,选择"存档工件"在第一个作业中输入生成文件的路径。
  • 然后在第二个工作中,添加一个"复制来自另一个项目的工件"构建步骤以获取第一份作业中标记为工件的部分或全部文件。 (默认情况下,Jenkins将在第二个作业的工作区中重新创建生成文件的路径,这可能是您想要的,也可能不是,但您可以更改此行为。)

答案 1 :(得分:0)

配置Jenkins以运行Maven构建,并使用“mvn clean deploy”部署工件。这会将其推送到您可能拥有的“工件服务器”,如果不需要,则需要添加/配置。

然后,在您的下游作业(也称为Maven作业)中,将其配置为依赖于上游作业中发布的相同工件。这将触发从工件服务器下载工件并使其可用于构建。