Jenkins:如何让特定构建保持更长的时间?
Jenkins: How to keep specific builds longer?
我有一个几乎定期执行的声明式管道。
根据具体情况(在工作期间评估运行),我想比平时更长时间地工作。
- 通常运行我保存一周。
- 如果条件 1 成立,我想将构建保留最多一个月。
- 如果条件 2 成立,我希望将构建保留最多六个月。
Jenkins 可以开箱即用地做类似的事情,还是可以通过添加一些插件来做?
所以我找到了这个工作的解决方案:开箱即用的 Jenkins 不能做我正在寻找的东西。但是 Jenkins 可以 运行 插件。找不到任何可以满足我需要的插件,我开始创建自己的插件。如果有人想做同样的事情,这里是高级步骤:
- 关注 Jenkins Plugin development tutorial。从那里你有一个带有构建步骤和构建操作的插件
- 修改构建操作以存储关于这两个条件的信息,或者更好的是生成的保留期。
- 修改构建步骤,以便可以从自由式构建或管道步骤设置信息。
- 创建一个 BuildDiscarder,它从操作中读取信息并在触发删除之前接受它
我有一个几乎定期执行的声明式管道。 根据具体情况(在工作期间评估运行),我想比平时更长时间地工作。
- 通常运行我保存一周。
- 如果条件 1 成立,我想将构建保留最多一个月。
- 如果条件 2 成立,我希望将构建保留最多六个月。
Jenkins 可以开箱即用地做类似的事情,还是可以通过添加一些插件来做?
所以我找到了这个工作的解决方案:开箱即用的 Jenkins 不能做我正在寻找的东西。但是 Jenkins 可以 运行 插件。找不到任何可以满足我需要的插件,我开始创建自己的插件。如果有人想做同样的事情,这里是高级步骤:
- 关注 Jenkins Plugin development tutorial。从那里你有一个带有构建步骤和构建操作的插件
- 修改构建操作以存储关于这两个条件的信息,或者更好的是生成的保留期。
- 修改构建步骤,以便可以从自由式构建或管道步骤设置信息。
- 创建一个 BuildDiscarder,它从操作中读取信息并在触发删除之前接受它