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

Jenkins声明式流水线如何在Docker代理上将master分支打ZIP包并携带构建号

实现步骤

前置确认

  • 你使用的Docker agent镜像需要预装zip命令,若使用Debian/Ubuntu系基础镜像,可在构建agent镜像时执行apt update && apt install -y zip完成预装,也可在Pipeline步骤中临时安装。
  • Jenkins内置环境变量BUILD_NUMBER可直接读取当前构建的序号,无需额外配置。

完整修改后的Pipeline代码

pipeline {
    agent any // 你可以替换为你实际使用的Docker agent配置,比如 agent { docker { image '你的镜像名' } }
    stages {
        stage('拉取代码') {
            steps {
                // 如果是多分支Pipeline,可省略该步骤,默认会拉取对应分支代码
                git branch: 'master', url: '你的代码仓库地址'
            }
        }
        stage ('ZIP打包') {
            steps {
                echo "Building the zip package"
                // 打包当前目录所有内容,包名携带构建号
                // 可添加-x参数排除不需要的文件,比如 -x "*.git/*" 排除.git目录
                sh 'zip -r master-build-${BUILD_NUMBER}.zip .'
            }
            post {
                success {
                    // 可选:将打包好的zip归档到Jenkins构建记录,方便后续下载
                    archiveArtifacts artifacts: 'master-build-*.zip', fingerprint: true
                }
            }
        }
    }
}

配置说明

  • 拉取代码的步骤如果在你的现有Pipeline中已经实现,可以直接删除对应stage,只保留打包逻辑即可。
  • 打包时如果需要过滤文件,可在zip命令后添加-x参数,示例:sh 'zip -r master-build-${BUILD_NUMBER}.zip . -x "*.git/*" "node_modules/*"',可排除.git目录和node_modules目录。
  • 如果需要将打好的包上传到其他存储或者用于后续步骤,可直接使用master-build-${BUILD_NUMBER}.zip作为文件路径引用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:36:04