Jenkins管道实用步骤 - zip zipFile

Sri*_*Sri 5 jenkins jenkins-pipeline

我试图使用管道脚本压缩创建为jenkins管道作业输出的文件夹.通过谷歌搜索,我认识了詹金斯

管道实用程序步骤 - zip zipFile

压缩文件夹/文件的https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#code-zip-code-create-zip-file但无法获得精确的zip管道语法.

在我的工作空间中,我有一个名为'Test'的文件夹,它有2个子文件夹,分别为'Test1','Test2'.每个子文件夹都有.dll文件.所以,我想用所有子文件夹压缩整个'Test'文件夹.

node(Jenkinks_1)
{
    echo "ZIP"
    zip zipFile: 'Test.zip', dir:'C:\\workspace\\Build_Sample\\Test'
    echo "END - ZIP"
}
Run Code Online (Sandbox Code Playgroud)

以下是Jenkins的控制台输出:

Started by user XXXXX
[Pipeline] node
Running on Jenkinks_1 in C:\workspace\Build_Sample
[Pipeline] {
[Pipeline] echo
ZIP
[Pipeline] echo
END - ZIP
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud)

寻找使用管道语法压缩文件夹的一些指导.感谢您的意见.

我想将一些文件压缩为jenkins管道作业的输出

Von*_*onC 15

首先,在阶段和步骤中尝试相同的操作,如下所示:

pipeline {
    agent any
    stages {
        stage ('push artifact') {
            steps {
                sh 'mkdir archive'
                sh 'echo test > archive/test.txt'
                zip zipFile: 'test.zip', archive: false, dir: 'archive'
                archiveArtifacts artifacts: 'test.zip', fingerprint: true
            }
        }
        ...
    }
Run Code Online (Sandbox Code Playgroud)

它用于archiveArtifacts记录结果.

如果使用绝对路径现在可以工作,请尝试相对的一个('..')

正如OP Sri所见,它zip zipFileJENKINS Pipeline Utility Steps插件的一部分,并且需要它.
请参阅"已实施的步骤 ".


关于用于多标准文件选择的语法,NicolasW 在评论中注意到文档含糊不清:"使用glob ant-style语法"......
尽管如此,他还是使用基本的逗号分隔语法.
例如

zip zipFile: 'test.zip', archive: false, glob: 'config-/**/,scripts/**/*.*
Run Code Online (Sandbox Code Playgroud)

  • 为什么使用“archiveArtifacts”?在 zip 步骤中使用“archive: true”时,您可以直接存档创建的 zip 文件。 (2认同)

Sri*_*Sri 5

安装Pipeline Utility Steps插件后能够Zip 。