Jenkins管道实用步骤 - zip zipFile

时间:2018-01-20 03:59:27

标签: jenkins jenkins-pipeline

我正在尝试使用管道脚本压缩作为jenkins管道作业输出创建的文件夹。通过谷歌搜索,我开始了解詹金斯

  

管道实用程序步骤 - zip zipFile

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

在我的工作空间中,我有一个名字的文件夹'测试'它有2个子文件夹,如' Test1',' Test2'。每个子文件夹都有.dll文件。所以,我想把整个' Test'包含所有子文件夹的文件夹。

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

以下是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

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

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

3 个答案:

答案 0 :(得分:8)

首先,在阶段和步骤as in here中尝试相同的操作:

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
            }
        }
        ...
    }

它使用archiveArtifacts来记录结果。

如果现在使用绝对路径,请尝试使用相对路径('..'

正如OP Sri所示,zip zipFilezip zipFile: 'test.zip', archive: false, glob: 'config-/**/,scripts/**/*.* 的一部分,需要JENKINS Pipeline Utility Steps Plugin
请参阅“Implemented Steps”。

关于用于多标准文件选择的语法,NicolasW注意in the commentsdocumentation is vague:“使用glob ant-style语法”...
然而,他得到了它的工作,基本的昏迷分离语法 例如。

wait

答案 1 :(得分:3)

安装Pipeline Utility Steps插件后能够拉链。

答案 2 :(得分:1)

我遇到了这个问题,因为zip尚未安装在主机上。
提醒自己:如果需要zip,请先安装。

sudo yum install zip