在Hudson / Jenkins中将生成的文件夹从一个作业复制到另一个作业

时间:2013-01-30 13:15:08

标签: jenkins hudson

我的Hudson配置中有两个工作。我们称他们为A和B.

作业A专门用于生成文件夹 application_home 。此文件夹是一个随时可用的安装应用程序主文件夹。

作业B是“全包装 - 安装工作”。它需要复制作业A生成的 application_home 以生成安装程序。我的问题是经过一些调查后,我无法以一种简单的方式做到这一点。

我可以使用shell脚本,但是我需要知道作业A路径以及其工作区要获取 application _ home 文件夹。

有更简单的方法吗?

修改

我知道Copy Artifact Plugin。问题是它只复制工件。我需要按原样复制文件夹 application _ home ,因为它已经在安装程序中使用的结构中。如果有办法使用这个插件只复制文件夹,我还没有找到它。

编辑2.答案:

好的,您可以使用Copy Artifact Plugin来完成。你需要

  • 将其配置设置为“从最新完成版本的WORKSPACE复制”
  • 工件复制选项设置为如下文件夹:target / application_home / **
  • 目标目录设置为您想要的位置:installation_bundle_folder / application_home。

已经完成了:)

2 个答案:

答案 0 :(得分:3)

您可以尝试Copy Artifact Plugin

然后,您可以添加一个构建步骤,以“将所有联合作为安装作业”,将application_home复制到打包目录。可以选择仅包含项目A的最新稳定版本。


另一种方法是为成功的 Project A 构建制作一个构建后步骤,将application_home的副本编写到 Project B 所在的位置用它。您可以使用WORKSPACE环境变量来获取绝对位置。 (有关环境变量的列表,请参阅here)。

答案 1 :(得分:1)

好的,您可以使用Copy Artifact Plugin来完成。你需要

将其配置设为"copy from WORKSPACE of latest completed build" 将Artifacts设置为复制选项,如下所示:target/application_home/** 将目标目录设置为您想要的位置:installation_bundle_folder/application_home

已经完成了:)