Обновление системы
Рассматривайте обновление как обратимое инженерное изменение
Все узлы нормально работают 365 дней в году. Обновления macOS или набора инструментов, инициированные пользователем, следует выполнять после проверки совместимости и с сохранением пути восстановления.
A
Создайте резервную копию до обновления
Сохраните необходимые данные вне репозитория, конфигурацию сборки, lock-файлы зависимостей и артефакты. Запишите текущие версии macOS, Xcode, инструментов командной строки и ключевых зависимостей.
B
Проверьте совместимость набора инструментов
Проверьте минимальные требования проекта к системе, поддерживаемые версии Xcode, менеджер зависимостей и CI-скрипты. Сначала выполните тестовую сборку, затем переходите к рабочему конвейеру.
C
Выберите период с низким риском
Избегайте периодов релизов команды, подписи и передачи артефактов. Предупредите затронутых коллег и приостановите автоматические задачи, которые одновременно изменяют зависимости или кэш сборки.
D
Заранее определите условия отката
Определите, какие неудачные тесты остановят обновление, и сохраните сведения о прежней версии, расположении резервной копии и шагах восстановления. После восстановления заново проверьте SSH, путь Xcode, зависимости и вывод артефактов.
Четыре проверки после обновления
По каждой проверке должен сохраняться вывод команды или запись конвейера — это поможет определить точку изменения при регрессии.
Версии системы и Xcode корректны
Зависимости воспроизводятся из lock-файла
Тестовая сборка полностью прошла
Артефакт экспортируется и передается обратно