Соберите идентифицируемые входные данные
Используйте приложение, которое можете собрать вне продакшен-среды, доступ к исходникам и его реестру артефактов, версионируемую схему конфигурации и внешнее хранилище секретов. Держите известный рабочий релиз. Это входные данные для вашей автоматизации; PrivacyNodes не предоставляет API развёртывания или средство запуска конвейеров через этот веб-сайт.
Закрепите артефакт вместо того, чтобы полагаться на изменяемую метку, такую как latest. Docker описывает закрепление дайджеста для идентификации точного базового образа, с необходимостью осознанно проверять обновления. Воспроизводимость и патчинг — обе обязанности: держать старый уязвимый образ вечно — это не план обслуживания.
Техническая справка: Лучшие практики сборки Docker.
Напишите запись о релизе перед изменением трафика
Это формат документа, а не исполняемый скрипт. Заполните заполнители из проверенного артефакта. Одна ревизия исходников не описывает изменения среды. Включите наблюдаемую длительность миграции, ожидаемое поведение блокировок, различия конфигурации и последний рабочий артефакт.
# Illustrative release record — no credentials
release: reports-api-review-01
source_revision: REVISION_TO_REVIEW
artifact_digest: DIGEST_FROM_YOUR_REGISTRY
configuration_schema: config-v3
migration: add-export-state
old_code_can_read_new_schema: yes
verification:
- authenticated-read
- enqueue-and-complete-test-export
- failed-dependency-behavior
rollback_decision: keep-additive-schema-and-previous-artifact
operator_and_result: TO_BE_RECORDEDХраните запись в месте, доступном, когда приложение не работает. Ссылайтесь на защищённые учётные данные восстановления, не включая их значения. Назовите специалиста, который может остановить продвижение, и точку, после которой запланированный откат больше не действителен.
Отделите подготовку от продвижения
Сначала соберите и проверьте артефакт. Проверьте конфигурацию и ссылки на секреты перед запуском нового процесса. Примените только тот шаг схемы, который был проверен для этого релиза. Запустите новую версию в предполагаемой среде и проверьте зависимости перед переключением трафика; избегайте сочетания непроверенной деструктивной миграции с обычным обновлением образа.
В Compose запущенный контейнер не устанавливает готовность. Значимая проверка работоспособности и condition: service_healthy могут сделать ожидание зависимостей полезным, но не могут проверить рабочий процесс клиента. Приложение всё равно должно обрабатывать недоступность зависимости после запуска.
Техническая справка: Порядок запуска Docker Compose.
Проверьте больше, чем зелёный порт
Для API отчётности проверьте аутентифицированный тестовый запрос, чтение из целевой схемы, небольшой экспорт из очереди и доступ к его файлу. Используйте выделенное тестовое пространство имён и подавите уведомления продакшена. Убедитесь, что пересекающиеся версии не могут случайно дублировать запланированную работу.
Запишите ожидаемые результаты до проверки: правильная область аккаунта, ожидаемая примерная запись, один завершённый экспорт и отсутствие несанкционированных межаккаунтных данных. Запишите фактические результаты и тайминги после. Главная страница, возвращающая HTTP 200, недостаточна, если воркер постоянно падает или миграция оставила API читающим устаревшие значения.
Сделайте решение о восстановлении явным
Если процесс не запускается, оставьте трафик на работающей версии. Если проверка рабочего процесса не проходит, остановите продвижение и сохраните отредактированные доказательства. Добавочная схема, совместимая со старым артефактом, может позволить откат приложения. После несовместимого преобразования старый код может быть небезопасен; следуйте проверенному плану прямого исправления или восстановления данных.
Не повторяйте неудачную миграцию бесконечно. Определите, что зафиксировано, безопасен ли повтор и записали ли пользователи данные под новой схемой. руководство по миграции развивает эту границу с изменением столбца. Не считайте наличие кнопки отката доказательством того, что данные можно обратить.
Оставьте запись, по которой сможет пройти другой специалист
Сравните развёрнутый артефакт и идентификаторы конфигурации с запланированной записью. Сохраните проверки, неудачные попытки и выбранное действие по восстановлению. Храните последний работающий артефакт по явной политике хранения; не удаляйте его, пока валидация не завершена.
Полезная репетиция позволяет другому уполномоченному сопровождающему объяснить входные данные, повторить проверки и найти инструкции по восстановлению без поиска в вашей истории командной оболочки. Она не доказывает нулевой простой или будущий успех. Возвращайтесь к ней, когда меняется схема, поведение воркера или зависимости. Далее сузьте разрешения идентичности развёртывания.
Официальные ссылки
Документация была проверена для этой статьи. Примеры — это планировочные упражнения, а не команды, протестированные на сервере PrivacyNodes. Проверьте документацию для вашей установленной версии.