【问题标题】:Jenkins - Pass tar file from Multijob to phase jobsJenkins - 将 tar 文件从 Multijob 传递到阶段作业
【发布时间】:2016-01-05 21:03:41
【问题描述】:

我正在尝试找到将 tar 文件从正在运行的 MultiJob 获取到触发阶段作业的最佳方法。

- MultiJob 开始 - 阶段 1 作业需要从 MultiJob 复制 tar - 阶段 2 作业需要从 MultiJob 复制 tar - MultiJob 执行一些其他任务 - 多任务结束

如果我可以归档为构建步骤,那么我可以将其复制到子进程中,但不幸的是,我发现的唯一归档是构建后操作。

我曾考虑尝试将文件从一个工作区复制到另一个工作区,但这似乎也是一条死胡同。

谁能帮我找出最好的方法来做到这一点?

【问题讨论】:

    标签: jenkins jenkins-plugins


    【解决方案1】:

    如果您的子作业使用相同的 SCM 源,您可以使用 Shared Workspace plugin

    计划是在全局 Jenkins 配置中定义这个共享工作区,然后在相关作业中使用这个工作区。

    【讨论】:

    • “阶段 1”和“阶段 2”作业在其他多作业之间共享(我称它们为函数作业,因为它们的工作方式类似于函数)。我也没有为所有工作使用同一个奴隶。共享工作区似乎不适合我。但是,如果我没有这样奇怪的设置,共享工作区将正是我想要的。
    • 另一种解决方案是创建网络共享驱动器并将此驱动器用作所有阶段作业的自定义工作区。
    • 这是一个非常好的方法,但不幸的是我的公司不允许我这样做。 :( 但是,由于这是正确的方法,我将其标记为正确答案。
    • 谢谢@Kandyyoshia ;)
    【解决方案2】:

    我能找到的最佳方法是在我的多作业的第一阶段创建一个同步作业。在该作业中,它将对所有文件进行 tar 并归档 tar 文件。

    然后,Multijob 中的每个其他阶段作业将使用 由当前 Multijob 构建触发的构建

    从同步作业中提取存档

    最后,Multijob 还会从同步作业中提取存档并将其存档,因为我需要 Multijob 中的存档来触发后提升作业。

    这种方法远非一个好方法,但它现在可以工作。如果有人有更好的建议,我很乐意听取他们的意见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多