Триггер сборки не распознает отрицательный взгляд в RegExp на Cloud Build - PullRequest
0 голосов
/ 07 ноября 2018

Я использую Cloud Build в качестве решения для CI / CD. Моя стратегия ветвления следует такой схеме: ветки dev, stage и prod точно отражают то, что у меня есть в каждой из моих сред. Любая другая ветка - это обычная ветка для разработки.

Следуя этому шаблону, мне нужно собирать / тестировать в любой ветке, кроме основной, и развертывать только тогда, когда нажатия находятся в dev / stage / prod.

Поскольку Cloud Build не поддерживает выражение этого в одном файле YAML, у меня есть два: build.yaml и deploy.yaml.

Затем я создал два триггера сборки, например:

enter image description here

Первый работает просто отлично, он запускает шаги, описанные в deploy.yaml, если что-либо выдвинуто до dev/stage/prod. Но второе, хотя он принимает RegExp и оценивает предварительный просмотр веток (обратите внимание, вы не видите основные ветви):

enter image description here

Когда сборка запускается (да, она запускается автоматически!), Происходит сбой:

enter image description here

Немного Googling говорит мне, что Go-lang (который предположительно является бэкэндом, где это регулярное выражение оценивается здесь) не поддерживает Lookahead в RegExp.

Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 23 июля 2019

Наконец, есть новая функция в облачной сборке для решения этой проблемы, в основном в опциях триггеров есть флажок под названием Invert Regex, вот как это выглядит:

invert-regex-checkbox

Это в основном означает, что ветви или теги, соответствующие регулярному выражению, исключаются, и с помощью ^(master)$ в сочетании с этим Invert Regex вы сможете сопоставить любую ветвь, которая НЕ master.

0 голосов
/ 09 ноября 2018

Как я могу решить эту проблему?

Вот как я это сделал, попробовав сначала негативный взгляд.

например. исключить ветку master

^(([^m]|m($|[^a]|a($|[^s]|s($|[^t]|t($|[^e]|e($|[^r]))))))|master.+)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...