Sobes.tech
Middle+
27

Cum arată procesul de la commit până la deploy pe mediile de test?

Companiile au fost întrebate
СБЕРСБЕР

Răspuns de la AI

sobes.tech AI

Процесс от коммита до деплоя на стенды обычно включает несколько этапов:

  1. Коммит и пуш в репозиторий — разработчик сохраняет изменения и отправляет их в систему контроля версий (например, Git).

  2. CI (Continuous Integration) — автоматическая сборка и тестирование кода:

    • Запуск юнит-тестов, линтеров, статического анализа.
    • Сборка артефактов (например, wheel, docker-образ).
  3. Артефакт-репозиторий — сохранение собранных артефактов для последующего использования.

  4. CD (Continuous Deployment/Delivery) — автоматический или полуавтоматический деплой:

    • Развёртывание на тестовые или staging стенды.
    • Запуск интеграционных и e2e тестов.
  5. Ручной или автоматический переход на продакшен — после успешного тестирования.

Пример для Python-проекта с использованием GitLab CI/CD:

stages:
  - test
  - build
  - deploy

test:
  stage: test
  script:
    - pytest

build:
  stage: build
  script:
    - python setup.py sdist bdist_wheel
  artifacts:
    paths:
      - dist/

deploy_staging:
  stage: deploy
  script:
    - scp dist/* user@staging-server:/app/
    - ssh user@staging-server 'systemctl restart myapp'
  only:
    - develop

deploy_production:
  stage: deploy
  script:
    - scp dist/* user@prod-server:/app/
    - ssh user@prod-server 'systemctl restart myapp'
  when: manual
  only:
    - main

Таким образом, процесс автоматизируется, минимизируя ручной труд и ошибки.