You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Pipeline使用zip步骤压缩文件夹的语法求助

解决Jenkins Pipeline压缩文件夹无输出的问题

我来帮你搞定这个Jenkins压缩的问题!你的脚本没生成压缩包,核心问题出在路径指定方式上,咱们一步步来修正:

问题分析

你用了绝对路径dir:'C:\\workspace\\Build_Sample\\Test',但Jenkins Pipeline的zip步骤默认是基于当前节点的工作区根目录来查找文件的。直接写绝对路径可能会因为以下原因失效:

  • Jenkins实际工作区路径和你手动指定的不一致(比如Jenkins的工作区可能在其他盘符或目录下)
  • 节点权限限制,无法访问你指定的绝对路径

正确的Pipeline脚本写法

推荐使用相对路径(基于工作区根目录),这样兼容性最好。如果你的Test文件夹就在工作区根目录下,脚本应该这么写:

node('Jenkins_1') {
    echo "Starting ZIP operation"
    // 压缩工作区下的Test文件夹(含所有子文件夹和文件)
    zip zipFile: 'Test.zip', dir: 'Test'
    echo "ZIP operation completed successfully"
}

如果需要明确绑定工作区路径(比如多工作区场景),可以用pwd()函数动态获取当前工作区路径:

node('Jenkins_1') {
    echo "Starting ZIP operation"
    def workspace = pwd()
    zip zipFile: 'Test.zip', dir: "${workspace}/Test"
    echo "ZIP operation completed successfully"
}

额外注意事项

  1. 确保已经安装了Pipeline Utility Steps插件(这是zip步骤的依赖插件)
  2. 执行完后,压缩包Test.zip会生成在工作区根目录下,你可以通过Jenkins的工作区页面查看或下载
  3. 如果需要验证压缩包内容,可以在脚本里加一步解压验证:
    unzip zipFile: 'Test.zip', dir: 'Test_Unzip'
    echo "Unzipped content can be found in Test_Unzip folder"
    

内容的提问来源于stack exchange,提问作者Sri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:51:46