Jenkins对接JFrog Artifactory时如何设置最近构建产物保留数量?
可以实现,两种常用方案供你选择:
方案1:Artifactory仓库层面配置保留策略(推荐)
无需修改现有Jenkins流水线,直接在Artifactory后台配置全局规则即可:
- 登录Artifactory管理后台,进入你上传zip的目标仓库(也就是
artifactory/jenkins/对应的托管仓库)的设置页面 - 找到*保留策略(Retention Policy)*配置项
- 选择按构件数量保留,设置最大保留构件数为50,勾选保留最新版本即可,规则会自动定期清理超出数量的历史构件。
方案2:Jenkins流水线中直接控制保留数量
如果希望在上传环节直接管控保留规则,可在现有rtUpload步骤后补充构建保留配置,修改后的流水线代码如下:
stage ('Upload stage') { steps { rtUpload ( serverId: 'Artifactory', spec: '''{ "files": [ { "pattern": "package-*.zip", "target": "artifactory/jenkins/" } ] }''', // 绑定当前构建信息 buildName: env.JOB_NAME, buildNumber: env.BUILD_NUMBER ) // 配置保留规则,仅保留最近50次构建的产物 rtBuildRetention ( serverId: 'Artifactory', buildName: env.JOB_NAME, maxBuilds: 50, deleteBuildArtifacts: true, async: false ) } }
说明:
deleteBuildArtifacts设置为true时,清理旧构建记录的同时会同步删除对应的zip包- 直接使用Jenkins内置环境变量
env.JOB_NAME和env.BUILD_NUMBER无需手动修改适配不同任务
内容的提问来源于stack exchange,提问作者vel
相关产品推荐
相关产品推荐

