Условное автоматическое развертывание на основе тега 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


Есть ли у кого-нибудь идея о том, как использовать тег в качестве способа принудительного развертывания, когда конкретный тег выдвигается ?
Спасибо!

729   1  

1 ответ:

Можно использовать регулярное выражение, например

test-deployment:
    only:
        - /^staging-/

И пометьте свой коммит, начните с"staging -". Когда вы нажимаете, работа должна выполняться.

Comments

    Ничего не найдено.