【问题标题】:Copy generated folder from one job to another in Hudson/Jenkins在 Hudson/Jenkins 中将生成的文件夹从一个工作复制到另一个工作
【发布时间】:2013-01-30 13:15:08
【问题描述】:

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

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

作业 B 是“打包所有安装作业”。它需要复制作业 A 生成的 application_home 来生成安装程序。我的问题是,经过一番调查,我无法以简单的方式做到这一点。

我可以使用 shell 脚本,但是我需要知道作业 A 的路径以及它的工作区在哪里获取 application_ home 文件夹。

有没有更简单的方法来做到这一点?

编辑

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

编辑 2. 答案:

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

  • 将其配置设置为“从最新完成的构建的 WORKSPACE 复制”
  • 设置Artifacts to copy选项文件夹如下:target/application_home/**
  • 目标目录设置为您想要的位置,例如:installation_bundle_folder/application_home。

它已经完成了:)

【问题讨论】:

  • 用户很可能不会期望在您的问题中得到答案,顺便说一句,您可以回答自己的问题。

标签: jenkins hudson


【解决方案1】:

你可以试试Copy Artifact Plugin

然后您可以将构建步骤添加到“pack-all-together-for-installation-job”,将application_home 复制到打包目录。可以选择仅包含 Project A 的最新稳定版本。


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

【讨论】:

  • 我实际上尝试了 Copy Artifact Plugin,但它似乎只能复制 maven 工件。 jars 说。我的 application_home 位于作业 A 项目的子模块之一的“目标”文件夹中。您知道如何执行此操作吗?
  • @RalfHoppen 另一个想法是编写脚本,不过我建议使用“推”工作流而不是“拉”。
  • 找到了一种使用复制工件的方法。我需要检查“从最新成功构建的 WORKSPACE 复制”并将路径设置为 application_home。 :)
猜你喜欢
  • 2011-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多