Sobes.tech
Middle+

Wie würdest du dynamische Feature-Standards in GitLab konfigurieren? Der Stand wird bei jedem Push in den Branch bereitgestellt und nach dem Merge oder nach einer bestimmten Zeit entfernt.

sobes.tech KI

Antwort von 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 создаётся отдельный стенд, который автоматически удалится через день или вручную после слияния.