jenkins - 忽略 Jenkins 中的旧版本
问题描述
我想将一个旧项目迁移到 Jenkins。它已经发布了几个我不想(有时不能 - 不要问)构建的版本。
所以基本上,我怎么能告诉 Jenkins 构建任何匹配 Git 分支和后续的东西releases/1.10
,而忽略?releases/0.1
releases/1.9.1
一种选择是告诉詹金斯“你已经看到+建立了这些分支”——如果你告诉詹金斯构建“发布/*”,詹金斯会自动记住这一点——只有当有人向它推送新的东西时,它才会构建“发布/1.0”分支。
解决方案
一些手动工作的简单方法是创建仅匹配新版本的正则表达式模式。在上述情况下,这将起作用:
:releases/1.\d\d+.*
这匹配具有两位数次要版本的任何内容(因此 1.0 .. 1.9 或排除)。请注意开头的冒号告诉 Jenkins 将其视为正则表达式。
当您从 2.x 开始时,它会中断,但您可以在 Jenkins UI 中使用该模式添加第二个分支release/2*
(此处没有冒号!)或使用更复杂的正则表达式:
:releases/(1.\d\d+|[2-9]).*
如果你想从 1.5 开始,事情会更复杂:
:releases/(1.[5-9]|1.\d\d+|[2-9]).*
读取:1.
后跟 5 到 9 或1.
后跟至少两位数字(1.10、1.11、...、1.20 ...)或以 2 到 9 开头。
推荐阅读
- javascript - 在 00:00 到 01:00 之间按休息日分组的自动行分组。为什么?
- discord - 当消息不是未定义时,message.mentions 返回未定义
- javascript - 如何从另一个功能组件中获取数组中的选定项目
- r - lmer - 线性混合模型 - 用于实验分析的公式优化辅助
- angular - Formio 文件组件功能需要覆盖
- angular - 如何在高图表中删除条形悬停时的背景颜色
- python - 复制 pandas 分组字符串连接
- docker - 使用环境变量进行 Docker 分发中间件配置
- javascript - scrollIntoView - 行为不起作用(JavaScript)
- c++ - 如何使模板类的超类抽象?