Skip to content

Project Lifecycle Standard

Единый стандарт для всех новых проектов DesignCorp.

Обязательная структура окружений

  • Dev workspace (без обязательной сборки): /home/admin/workspace/<project>
  • Prod runtime (рабочая версия): /opt/designcorp/<project>/prod

Правило:

  • В workspace ведется активная разработка.
  • В /opt/designcorp/<project>/prod находится только рабочая прод-версия, которую обслуживают runtime/services.

Доменная схема

  • Прод: https://<project-domain>
  • Дев: https://dev.<project-domain>

Пример:

  • Прод: https://myproject.com
  • Дев: https://dev.myproject.com

CI/CD и сборка

  • Канонический pipeline каждого проекта: https://github.com/DesignCorporation/<project>/actions
  • Сборка/релиз в прод выполняются только через CI/CD pipeline.
  • Ручной прод-деплой допустим только как rollback-процедура из runbook.

Минимальные этапы pipeline:

  1. Install dependencies (pnpm, если не указано иначе в проекте).
  2. Lint/Test.
  3. Build artifact.
  4. Deploy в /opt/designcorp/<project>/prod.
  5. Smoke-check прод домена.

Workflow задач

  • Все рабочие процессы ведутся через Issues:
    • https://github.com/DesignCorporation/<project>/issues
  • Для каждого проекта обязательно ведется GitHub Project board:
    • https://github.com/users/DesignCorporation/projects/<id>
  • Issue обязателен для:
    • новых фич,
    • багфиксов,
    • инфраструктурных изменений,
    • изменений документации.

Минимум для issue:

  1. Цель и контекст.
  2. Критерии приемки.
  3. Список файлов/контуров, которые затрагиваются.
  4. План проверки (smoke/regression).

Обязательный формат управления задачами:

  1. Перед стартом работ создать/обновить labels:
    • приоритеты: p0, p1, p2;
    • области: area:* (например area:deploy, area:nginx, area:security);
    • стратегические: roadmap.
  2. Создать milestone для этапа (например квартал/релиз).
  3. Каждую задачу привязать к milestone и добавить на Project board.
  4. Статусы board использовать единообразно:
    • Todo -> In Progress -> Done.
  5. По окончании задачи:
    • оставить комментарий в issue с ссылкой на commit/PR и списком проверок;
    • закрыть issue;
    • перевести карточку board в Done.
  6. Запрещено выполнять значимые изменения «мимо issue» и «мимо board».

Рекомендуемый шаблон комментария при закрытии issue:

  1. Что реализовано.
  2. Какие файлы/модули изменены.
  3. Какие проверки выполнены.
  4. Ссылка на workflow run (если есть CI/CD).

Референс (образец корректной постановки):

  • ServerAdmin issues: https://github.com/DesignCorporation/serveradmin/issues
  • ServerAdmin milestone: https://github.com/DesignCorporation/serveradmin/milestone/3
  • ServerAdmin board: https://github.com/users/DesignCorporation/projects/6

Definition of Done

Задача считается завершенной, когда:

  1. Изменения в коде и документации синхронизированы.
  2. CI/CD pipeline успешен.
  3. Прод и дев URL проходят smoke-check.
  4. Issue закрыт с отчетом о результате.

Требования к документации проекта

Для каждого проекта в docs должны существовать:

  1. Карточка проекта в /docs/projects/<project>.md.
  2. Описание доменов/портов в /docs/control-plane/topology.md.
  3. Runbook deploy/rollback (или ссылка на единый runbook, если процесс общий).
  4. Owner (агент/ответственный) в /docs/control-plane/owners.md.