【问题标题】:Archiving artifacts with same name归档具有相同名称的工件
【发布时间】:2017-12-15 01:16:19
【问题描述】:

我正在使用 声明性管道 作为 Jenkins 工作。 “构建”和“归档”阶段并行运行,以构建和收集来自不同平台(linux 32 和 64、windows 等)节点的工件

不幸的是,这些工件都是同名的。我无法在单个管道作业中归档多个 mylib.so。或者我可以吗?

好吧,在 Windows 的情况下,库将是 .dll,因此存在差异,但这不是解决此问题的整体解决方案。

有没有办法区分由多个节点构建的工件?

我的管道如下所示:

pipeline {
    agent none
    stages {
        stage('Build') {
            parallel {
                stage('Build on some Linux x64') {
                    agent { node { label 'linux_64' } }
                    steps {
                        // call make
                    }
                }
                stage('Build some more...') { ... }
            }
        }
        stage('Archive') {
            parallel {
                stage('Archive from Linux x64') {
                    agent { node { label 'linux_64' } }
                    steps {
                        archive includes: 'out/*.so'
                    }
                }
                stage('Archive some more...') { ... }
            }
        }
    }
}

我也见过this,所以可能没有直接开箱即用的东西。

【问题讨论】:

    标签: jenkins jenkins-pipeline jenkins-declarative-pipeline


    【解决方案1】:

    即将面临同样的问题...

    您可以使用stashunstash 在文件夹和节点之间移动文件(Google 取消存储到其他目录)。在这种情况下,为每个平台存储您的输出,并添加一个最终阶段,将每个平台取消存储到单独的文件夹中。然后最后归档该批次以在构建完成后使其可用。

    这有一些变化,当然您可以将构建本身输出到平台/架构特定的文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-15
      • 2018-05-25
      • 2011-01-27
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多