Редактор КПО
Ошибка YAML
map: name: "Релиз фичи: GitHub Flow & CI/CD" goal: "Стандартизация пайплайна от написания кода до сборки образа в GCR" position: "CTO / Lead DevOps" mode: "как есть" nodes: - name: "⟣ Запрос на новую фичу, С-1" id: С-1 type: "⟣" input: "Задача в таск-трекере (Jira)" next: [КТ-1, "—"] - name: "● Внесение изменений в кодовую базу, КТ-1" id: КТ-1 type: "●" ops: - "Отведение ветки feature/name от master" - "Написание программного кода" - "Доработка замечаний (в случае возврата)" - "Локальная проверка" artifacts: ["Git", "IDE"] output: "Запушенные коммиты в origin" next: [КТ-2, "—"] - name: "● Оформление Pull Request, КТ-2" id: КТ-2 type: "●" channel: "GitHub Web UI" ops: - "Заполнение описания PR (Markdown)" - "Назначение ревьюера" output: "Открытый PR к ветке master" next: [КТ-3, "—"] - name: "● Прогон автоматических тестов, КТ-3" id: КТ-3 type: "●" ops: - "Checkout кода" - "Запуск линтеров" - "Выполнение Unit и E2E тестов" output: "Успешные статусы (зеленые галочки)" barriers: - "Flaky тесты случайно валят билд [задача: Починить нестабильные тесты]" next: [КТ-4, "—"] - name: "● Инспекция кода (Code Review), КТ-4" id: КТ-4 type: "●" channel: "GitHub PR Comments" ops: - "Изучение диффа" - "Оставление комментариев к строкам" output: "Результат инспекции (Фидбэк или Approve)" barriers: - "Долгое ожидание ответа [задача: Настроить автоуведомления в Slack]" next: - [КТ-1, "—"] # Возврат на первую точку при наличии замечаний - [КТ-6, "—"] # Прямое прохождение (Апрув без правок) - name: "● Слияние (Merge) в master, КТ-6" id: КТ-6 type: "●" ops: - "Нажатие кнопки Squash and Merge" - "Удаление feature-ветки" output: "Новый коммит в базовой ветке (master)" next: [КТ-7, "—"] - name: "● Регистрация релизного тега, КТ-7" id: КТ-7 type: "●" channel: "CLI / GitHub UI" ops: - "Создание git tag (напр. v1.2.0)" - "Push тега в удаленный репозиторий" output: "Событие создания тега" next: [КТ-8, "—"] - name: "● Сборка и публикация образа, КТ-8" id: КТ-8 type: "●" ops: - "Сборка Docker-контейнера" - "Авторизация в GCR" - "Публикация образа (docker push)" artifacts: ["Dockerfile", "Google Container Registry (GCR)"] output: "Контейнер готов к деплою" next: [С-2, "—"] - name: "⟢ Образ готов к эксплуатации, С-2" id: С-2 type: "⟢" lanes: - name: "👩💻 Разработчик" nodes: [С-1, КТ-1, КТ-2, КТ-6, КТ-7] - name: "⚙️ CI/CD (GitHub Action)" nodes: [КТ-3, КТ-8, С-2] - name: "🕵️♂️ Ревьюер" nodes: [КТ-4]