Middle+
Hoe zou je dynamische feature-stands in GitLab instellen? De stand wordt bij elke push naar de branch uitgerold en wordt verwijderd na de merge of na een bepaalde tijd.
sobes.tech AI
Antwoord van AI
Для настройки динамических feature-стендов в GitLab можно использовать GitLab CI/CD с динамическим созданием окружений и автоматическим удалением.
- В
.gitlab-ci.ymlнастроить job, который запускается на каждый push в нужную ветку и разворачивает стенд (например, в Kubernetes или Docker). - Использовать параметр
environmentс динамическим именем, например, по имени ветки или коммита. - Настроить
auto_stop_inдля автоматического удаления окружения через заданное время. - Добавить job для удаления стенда после merge, используя правила с
when: manualилиwhen: on_successи проверку события merge.
Пример конфигурации:
stages:
- deploy
- cleanup
deploy_feature:
stage: deploy
script:
- ./deploy.sh $CI_COMMIT_REF_NAME
environment:
name: feature/$CI_COMMIT_REF_NAME
url: https://$CI_COMMIT_REF_NAME.example.com
auto_stop_in: 1 day
only:
- branches
cleanup_feature:
stage: cleanup
script:
- ./cleanup.sh $CI_COMMIT_REF_NAME
when: manual
environment:
name: feature/$CI_COMMIT_REF_NAME
action: stop
only:
- master
Таким образом, на каждый push создаётся отдельный стенд, который автоматически удалится через день или вручную после слияния.