我正在尝试使用流水线脚本将作为输出创建的文件夹压缩成zip格式。通过谷歌搜索,我了解到Jenkins提供了Pipeline Utility Steps - zip zipFile功能https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#code-zip-code-create-zip-file来压缩文件夹/文件,但无法获取确切的管道语法来压缩。
在我的作业工作区中,我有一个名为“Test”的文件夹,它有两个子文件夹“Test1”和“Test2”。每个子文件夹中都有.dll文件。因此,我想将整个“Test”文件夹及其所有子文件夹压缩成zip格式。
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流水线作业的输出。
zip zipFile: 'test.zip', archive: true, dir: 'archive'
命令将在Jenkins的构件中压缩和归档zip文件,因此无需使用archiveArtifacts
命令。不过没关系,你原来的回答已经很好了。两年后我的评论也许已经不太相关了。 - IVleafcloverzip
命令无法正常工作并且文档也没有提供有效的解决方法。它会报错信息为无效参数“zipFile”。要使其正常工作,请将代码更改为script{ zip zipFile: 'test.zip', archive: false, dir: 'archive' }
。这个问题已经在https://issues.jenkins.io/browse/JENKINS-44078中得到了解决。 - Tanvir