【问题标题】:How to pass build artifact into another job in Jenkins如何将构建工件传递给詹金斯的另一个工作
【发布时间】:2016-05-27 14:38:19
【问题描述】:

设置

我在 Jenkins 有两份工作:

  • build master - 这会构建代码并创建工件
  • deploy master - 这会部署工件

目前,deploy master 具有使用“最新成功构建”的“从另一个项目复制工件”构建步骤。

我的目标

我想将这一步从“最新成功构建”改为“由构建参数指定”,这样我在部署时就可以选择特定的构建,而无需每次修改deploy master作业的配置。

我尝试过的

首先,我改为“由构建参数指定”。

然后我选中“此项目已参数化”旁边的框并为BUILD_SELECTOR添加了一个字符串参数。

然后我选择构建并输入输入 47,这是来自 build master 作业的构建号。

另外我尝试了 api 调用

$.ajax({
  type: 'POST',
  url: 'https://jenkins/job/deploy%20master/build?token=abc7f5abc0c45abcea0646ed858abcde&BUILD_SELECTOR=47'
});

结果

两次都失败,输出如下:

Started by user styfle
[EnvInject] - Loading node environment variables.
Building in workspace C:\Jenkins\jobs\deploy master\workspace
ERROR: Unable to find a build for artifact copy from: build master
Started calculate disk usage of build
Finished Calculation of disk usage of build in 0 seconds
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: FAILURE

问题

如何正确配置它,以便在部署时指定内部版本号(或其他标识符)?

更新解决方案

感谢 Gerold 的回答,我的解决方案是添加“为复制工件构建选择器”参数并使用新的环境变量链接到我已经添加的字符串参数。

【问题讨论】:

    标签: jenkins deployment parameterized


    【解决方案1】:

    在 Jenkins 中,每个项目/作业只有一个工作区。构建目录仅包含有关构建及其结果的信息。

    两者的根目录在Manage JenkinsConfigure SystemAdvanced...中指定。

    要部署以前构建的工件,您必须将其复制到 build master 中的其他位置,并稍后从 deploy master 访问它。

    更新:

    查看 Which buildParameter Name 的内联帮助:

    应在上面的构建参数部分中添加具有此名称的参数。选择构建选择器有一个特殊的参数类型。

    使用此复制工件的构建选择器而不是字符串参数

    【讨论】:

    • build master 作业具有“归档工件”的“构建后操作”。而且我已经能够通过编辑配置来指定按编号构建。所以我知道这部分有效。
    • @styfle 归档工件 构建后操作将指定文件存储在<mentioned system configuration>/<build no.>/archive/...中,可通过http://<Jenkins>/job/<job name>/<build no.>/artifact/...访问。
    • 该网址有效。我应该尝试在部署中使用完整的 URL 作为参数吗?
    • @styfle 如果工件名称没有改变,build no. 就足够了。它是 URL 中唯一的变量。
    • @Radu 请参阅File Operations Plugin文件/文件夹副本
    【解决方案2】:

    在下游项目中添加以下内容。 “为复制工件构建选择器”而不是“字符串参数”

    从另一个项目复制工件

    就是这样。单击“使用参数构建”并传递内部版本号

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-25
      • 1970-01-01
      相关资源
      最近更新 更多