Я использую Cloud Build в качестве решения для CI / CD. Моя стратегия ветвления следует такой схеме: ветки dev
, stage
и prod
точно отражают то, что у меня есть в каждой из моих сред. Любая другая ветка - это обычная ветка для разработки.
Следуя этому шаблону, мне нужно собирать / тестировать в любой ветке, кроме основной, и развертывать только тогда, когда нажатия находятся в dev / stage / prod.
Поскольку Cloud Build не поддерживает выражение этого в одном файле YAML, у меня есть два: build.yaml
и deploy.yaml
.
Затем я создал два триггера сборки, например:
![enter image description here](https://i.stack.imgur.com/s4oD3.png)
Первый работает просто отлично, он запускает шаги, описанные в deploy.yaml
, если что-либо выдвинуто до dev/stage/prod
. Но второе, хотя он принимает RegExp и оценивает предварительный просмотр веток (обратите внимание, вы не видите основные ветви):
![enter image description here](https://i.stack.imgur.com/i33Er.png)
Когда сборка запускается (да, она запускается автоматически!), Происходит сбой:
![enter image description here](https://i.stack.imgur.com/0q875.png)
Немного Googling говорит мне, что Go-lang (который предположительно является бэкэндом, где это регулярное выражение оценивается здесь) не поддерживает Lookahead в RegExp.
Как я могу решить эту проблему?