Как обеспечить, чтобы дочерние ветви всегда актуальны со своим родителем
Из примера выше, когда
особенностьветвь сливается доРазвиватьФилиал тогдаdevветвь должна быть обновлена, чтобы получить последний код изразвиватьТаким образом, он не будет не конфликта или не выполнить тест с интеграционным кодом, когда он объединяется наРазвиватьОтказ То же поведение дляИнтеграцияфилиалВот
.PREработа в трубопроводе GitLab, чтобы обеспечить это
stages:
- build
- deploy
ancestor_develop:
stage: .pre
script:
- git merge-base --is-ancestor origin/develop HEAD || ( echo "Branch is not an ancestor of develop"; /bin/false )
only:
refs:
- dev
- feature
- integrate
tags:
- ancestor-check
compile_code:
stage: build
script:
- echo build image
only:
refs:
- dev
- feature
- integrate
tags:
- runner-build
deploy_test:
stage: deploy
script:
- echo Deploy to test env
only:
refs:
- dev
- feature
- integrate
tags:
- runner-deploy
.PREСтадия наивысшего приоритета в газопроводе GitLab, ее необходимо пропустить, чтобы продолжить другие этапы (сборки и развертывание)- Ref: Git-Merge-Base (1) Ручная страница
—is-предка
Проверьте, является ли первый предком второго, и выйдите со статусом 0, если true, или со статусом 1, если нет. Ошибки сигнализируются ненулевым статусом, который не является 1.
Оригинал: «https://dev.to/vumdao/gitlab-ancestor-check-branches-4gkg»