Дизайн
Изобразите последовательность миграции и отката релиза
Схема последовательности релиза делает явными порядок миграции, окна совместимости, контрольные точки проверки, триггеры отката и владение восстановлением данных до развёртывания.
Процесс
Делай в этом порядке.
- Определите владельца и систему выпуска и миграции, среды, текущие и целевые версии, точный вопрос схемы и ограничения по потере данных, безопасности, доступности, приватности и простою.
- Отделите запланированную последовательность от команд, которые действительно выполнялись бы; не обращайтесь к production и не запускайте команды миграции, проверки или отката.
- Определите предпосылки, участников, состояния версии или схемы и инварианты, которые должны выполняться до переключения.
- Расположите прямые шаги по порядку, включая резервные копии или снимки, проверки совместимости, миграцию, изменение приложения, проверку и наблюдение.
- Направьте каждый сбой или пункт остановки к пути отката или восстановления, отметьте необратимые шаги и владельца решения и не обещайте откат после потери данных.
- Добавьте проверки, наблюдаемость, доступность, безопасность и целостность данных, затем создайте статическую доступную схему с текстовой альтернативой; не репетируйте и не тестируйте команды.
- Упакуйте самодостаточный исходник схемы, версионированные допущения, ссылки на runbook, пределы покрытия и явный результат отсутствия выполнения и остановитесь перед реальным выпуском или миграцией.
Принеси это
Входы, которые кот спросит.
- версии выпуска и миграции
- карта сред и зависимостей
- ворота совместимости и проверки
- владелец отката и цели восстановления
Роутер + один playbook
Сначала маршрут. Выбери один.
Cat Paw открывает один playbook на задачу, не смешивает несколько. Начни с этого роутера; остальные пути — кандидаты именно этого workflow.
- Роутер:
diagram-design-pack skills/diagram-design-pack/release-migration-rollback-sequence-diagram/SKILL.md
Границы
Границы едут вместе с промптом.
- Перед началом проверьте реальные инструменты, учётные записи, разрешения и рабочую область; никогда не утверждайте, что недоступный инструмент, учётная запись, источник или возможность существует.
- Используйте Latch/target-workspace для приватного кода, артефактов, живых проверок или непубличных данных; если доступ недоступен, остановитесь на границе и сообщите о блокировке, не подменяя её догадкой.
- Приостановите работу для явного одобрения перед внешними действиями с последствиями; верните доказательства, нерешённые риски, допущения и любое действие, ожидающее одобрения.
Готово значит
Проверяемый финиш.
Версионированная доступная статическая схема последовательности определяет упорядоченные состояния, окна совместимости, ворота проверки, ветви восстановления, необратимые точки и пределы покрытия, а также явно фиксирует отсутствие выполнения.
Источники
Откуда взялся этот процесс.
- github.com/cathrynlavery/diagram-design/tree/dc1ace47b99a419e42d01a03cb6ace5346efa8ae/
- sre.google/sre-book/release-engineering/
- kubernetes.io/docs/concepts/workloads/controllers/deployment/
Источники задают рисунок workflow. Посты Reddit и сообщества, если они есть, — байки практиков, не универсальные факты.