versioningTemplate с регулярным выражением для извлечения тега github
Я пытаюсь отслеживать в своем репозитории git файл Dockerfile с помощью Renewate, который получает в качестве аргумента версию 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"
}
]
}
Я проверил свое регулярное выражение versioningTemplate через regex101.com, но я не получаю запросов на вытягивание с новой версией postfixadmin.
Есть у кого-нибудь идеи, что здесь прописано настроено?
1 ответ
Базовым механизмом регулярных выражений здесь является PHP PCRE, и здесь вам нужно использовать определенную форму написания регулярных выражений, а именно буквальную нотацию регулярных выражений.
Ошибка должна быть исправлена с помощью
"versioningTemplate": "regex:/^(?<prefix>postfixadmin-)?(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)$/",
куда
/
символы используются как разделители регулярных выражений.
Поскольку регулярное выражение написано в отдельном файле, а не в файле кода, вам не нужны двойные обратные косые черты, если они не анализируются программным обеспечением определенным образом.