我正在尝试使用管道脚本压缩作为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管道作业的输出
答案 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 zipFile
是zip zipFile: 'test.zip', archive: false, glob: 'config-/**/,scripts/**/*.*
的一部分,需要JENKINS Pipeline Utility Steps Plugin。
请参阅“Implemented Steps”。
关于用于多标准文件选择的语法,NicolasW注意in the comments:documentation is vague:“使用glob ant-style语法”...
然而,他得到了它的工作,基本的昏迷分离语法
例如。
wait
答案 1 :(得分:3)
安装Pipeline Utility Steps
插件后能够拉链。
答案 2 :(得分:1)
我遇到了这个问题,因为zip尚未安装在主机上。
提醒自己:如果需要zip,请先安装。
sudo yum install zip