【问题标题】:How to archive the content of a folder recursively as artifacts on Jenkins?如何将文件夹的内容递归归档为 Jenkins 上的工件?
【发布时间】:2017-06-09 22:37:01
【问题描述】:

我的 jenkins 作业在工作空间内创建了一个临时子文件夹,例如“mydir”,然后我想使用构建后步骤“存档工件”进行存档。

我正在使用以下命令:

mydir/**/*

效果很好存档将始终包含 mydir 作为工件的根,而我只想拥有此文件夹的 内容

如何做到这一点?

【问题讨论】:

    标签: recursion jenkins directory artifacts


    【解决方案1】:

    在 jenkins 中归档你的整个文件夹。

    在你的情况下,让我们说。如果你想归档完整的“mydir”文件夹

    **/my_dir/**
    

    这是一种方式。如果您有其他同名文件夹。然后你也可以提供适当的父目录。

    【讨论】:

      【解决方案2】:

      您可以使用dir() 从所需目录中归档工件:

          stage('Archive') {
              steps {
                  dir('mydir') {
                      archiveArtifacts artifacts: '**'
                  }
              }
          }
      

      https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#dir-change-current-directory

      【讨论】:

        【解决方案3】:

        在这种情况下,我所做的是为我感兴趣的目录创建一个压缩文件(tar 或 zip),然后将其构建为整个目录。如果你的 slave 在 linux 上运行,你可以这样做:

        tar -czvf name-of-archive.tar.gz /path/of/build/directory
        

        然后artifact name-of-archive.tar.gz

        【讨论】:

          【解决方案4】:

          您可以在插件的设置中勾选“展平目录”选项

          【讨论】:

          • 此注释适用于默认未安装的Copy Artifact插件
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-08-14
          • 2011-05-31
          • 1970-01-01
          • 2013-10-11
          • 1970-01-01
          • 2021-01-16
          • 2013-02-03
          相关资源
          最近更新 更多