Назад к вопросам
Aston
Middle+
4
Как бы ты настроил динамические feature-стенды в GitLab? Стенд разворачивается на каждый push в ветку и удаляется после merge или через определённое время.
Компании, где спрашивали
Ответ от нейросети
sobes.tech 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 создаётся отдельный стенд, который автоматически удалится через день или вручную после слияния.