Условное автоматическое развертывание на основе тега git в GitLab CI
Я настраиваю процесс развертывания для своего веб-сайта с помощью GitLab CI.
У меня есть веб-сайт production и поддомен с развертыванием staging.
Предположим, что у меня есть разные ветви среди них: мастер и освобождение. У меня есть досье .YAML так что настроена таким образом, что :
если я нажимаю на master, у меня есть развертывание на
production (с ручной опцией), и если я нажимаю на мой выпуск ветви, у меня есть автоматическое развертывание на staging. git push origin master
Развертывается в производство (с ручным управлением валидация),
git push origin release
Развертывается в промежуточное состояние. И любые другие ветви, которые выталкиваются, не развертываются.
Мы несколько парней, чтобы работать, и, иногда, мы хотели бы иметь возможность развернуть другую ветку (например, feature) на staging при указании тега (например, specifictag) на git push:
git tag specifictag
git push origin feature --tags
Это было бы полезно для меня, потому что иногда некоторые разработчики хотели бы протестировать свои коды перед слиянием для выпуска, и мы не хотим создавать третью среду. И, конечно же, мы этого не делаем. хочу разворачиваться каждый раз, когда мы нажимаем на любую ветку.
stages:
- staging
- production
test-deployment:
stage: staging
script:
- [...]
only:
- release
tags:
- extranetserver
prod-deployment:
stage: production
script:
- [...]
only:
- master
tags:
- extranetserver
when: manual
Есть ли у кого-нибудь идея о том, как использовать тег в качестве способа принудительного развертывания, когда конкретный тег выдвигается ?
Спасибо!
1 ответ:
Можно использовать регулярное выражение, например
test-deployment: only: - /^staging-/И пометьте свой коммит, начните с"staging -". Когда вы нажимаете, работа должна выполняться.
Comments