Jenkins - 使用特定过滤器复制工件/包

时间:2014-09-08 08:09:26

标签: jenkins

我有PACKAGE作业,根据Choice参数生成ZIP包。根据选择,包名称可以使用名称MyPackageWINDOWS.ZIP或MyPackageLINUX.ZIP进行存档。

我有一个DEPLOY作业,应根据Choice参数取得* .ZIP包。选择参数是:
* Linux
* Windows

如果我选择Linux,部署作业应该复制名为MyPackageLINUX.ZIP的最新包 如果我选择Windows,部署作业应该复制名为MyPackageWINDOWS.ZIP的最新包

我有" Buid Selector for Copy Artifacts"和#34;从另一个项目中复制工件"插件但不知道如何实现这一点。这有可能吗?还有其他方法可以达到这个目的吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

假设您已经定义了Choice Parameter,为了达到您的目的(使用我的建议),您将需要安装以下插件,如果它们已经不是:

  1. Parameterized Trigger插件
  2. Conditional BuildStep插件
  3. Copy Artifact插件
  4. 可以通过不同的方式实现您的目标。我会提到其中一个:

    1. 在构建作业中,您可以创建一个文件(lin.txt / win.txt),具体取决于为该特定构建选择的Choice参数。
    2. 在部署作业中,检查构建作业创建的文件并复制相关包。
    3. 使用上述插件实现目标的步骤:

      对于这个例子,我创建了两个作业(Build& Deploy)。部署作业是构建作业的下游作业。

      • 在您的构建作业中,转到Build > Execute Windows batch command (Execute shell, if you're on *nix)。您可以参考下面的屏幕截图了解更多详情:

      enter image description here

      enter image description here

      • 现在,在部署工作中,转到Build > Conditional step (single)。请参阅下面的屏幕截图以获取更多详细信息:

      enter image description here enter image description here

      PS:如果您有主从设置,并且您的构建和部署作业没有绑定到任何从属,您可以选择一个公共位置(两个作业都可访问),您将在其中创建临时文件(林.TXT / win.txt)。在上面的屏幕截图中,可以使用Base directory选项进行选择。根据您的设置,您可以更改的另一件事是Which build选项,如上面的屏幕截图所示。