regex - 带有正则表达式的版本控制模板以提取 github 标记
问题描述
我正在尝试通过 renovate 在我的git 存储库中监视Dockerfile,它获取postfixadmin/postfixadmin的 git 标签版本作为参数。此版本应由 regexManager 监控。作为数据源,我使用 github-tag。这是我的配置:
{
"regexManagers": [
{
"description": "Update postfixadmin git tag",
"fileMatch": [
"^Dockerfile$"
],
"matchStrings": [
"ARG POSTFIXADMIN_VERSION=(?<currentValue>.*?)"
],
"depNameTemplate": "postfixadmin/postfixadmin",
"versioningTemplate": "regex:^(?<prefix>postfixadmin-)?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"datasourceTemplate": "github-tags"
}
]
}
我通过regex101.com验证了我的 versioningTemplate 正则表达式,但我没有收到任何带有新版本 postfixadmin 的拉取请求。
有谁知道这里错过了什么配置?
解决方案
这里底层的正则表达式引擎是PHP PCRE,在这里你需要使用一种特定的形式来编写正则表达式,即正则表达式文字表示法。
错误应该用
"versioningTemplate": "regex:/^(?<prefix>postfixadmin-)?(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)$/",
其中/
字符用作正则表达式分隔符。
由于正则表达式是在单独的文件中而不是在代码文件中编写的,因此您不需要双反斜杠,除非它们由软件以特定方式解析。
推荐阅读
- counter - iptables:MASQUERADE 规则的数据包计数器行为
- coq - Coq - 如何在假设错误时证明 False
- javascript - 计算函数在一个组件中运行,但不在另一个组件中运行
- python - 如何将我的 NUMPY 数组导出为 CSV 或 EXCEL 文件
- typescript - 带有 TypeScript 的 Mocha:参数“id”隐式具有“任何”类型?
- mysql - 如何在 MySQL 中创建日期和价格之间的计算
- javascript - 如何在javascript中检查输入值
- python - 按字母顺序排列的最长子字符串给出了意外的输出
- python - 使用 gspread 将 CSV 上传到 Google 表格
- javascript - 在 javascript 中对数组索引执行模式验证