Sobes.tech
Назад к вопросам
Middle+
4

Как бы ты настроил динамические feature-стенды в GitLab? Стенд разворачивается на каждый push в ветку и удаляется после merge или через определённое время.

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

Для настройки динамических feature-стендов в GitLab можно использовать GitLab CI/CD с динамическим созданием окружений и автоматическим удалением.

  1. В .gitlab-ci.yml настроить job, который запускается на каждый push в нужную ветку и разворачивает стенд (например, в Kubernetes или Docker).
  2. Использовать параметр environment с динамическим именем, например, по имени ветки или коммита.
  3. Настроить auto_stop_in для автоматического удаления окружения через заданное время.
  4. Добавить 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 создаётся отдельный стенд, который автоматически удалится через день или вручную после слияния.