Обновления и каналы
aircode update --check # is there something new on my channel?
aircode update # download, verify, install, switch
aircode update --rollback # instant switch back to the previous version
Что действительно делает обновление
- Захватывает подписанный канал манифест и проверяет его подпись Ed25519 — Неподписанный или искаженный манифест отвергается полностью.
- Загружает тарбол для выпуска, проверяет его sha256 (и подпись).
- Устанавливает
~/.aircode/versions/<new>рядом с текущую версию. - Атомно переключается
currentsymlink. - Перезагрузка каждого управляемого случая, принадлежащего этой упакованной установке
— сеансы выполняемых агентов не затрагиваются. Они живут в tmux, и каждый
aircode@<id>.serviceиспользуетKillMode=process: только каждый серверный процесс перезагрузка. Остановленные инстанции остаются остановленными и используют новую версию следующим время, когда они начинают.
Поскольку версии сидят бок о бок, --rollback является переключателем симлинка, а не переустановкой. Две последние версии сохраняются; старые версии очищаются.
Каналы
- стабильный — по умолчанию.
- бета — предыдущие функции, та же подпись и механизм обновления:
aircode update --channel betaили установить"updateChannel": "beta"в файл конфигурации.
Уведомления об обновлении
Сервер проверяет свой канал один раз в день и выводит доступные обновления в интерфейсе пользователя и в состоянии жизненного цикла. никогда не применяет обновления самостоятельно — обновление сервера, которым вы управляете, всегда является вашим призывом. Используйте aircode ps -a для инвентаризации инстанций после обновления.
Совместимость данных
Миграция данных осуществляется только вперед. Обратный переход на выпуск с изменением схемы обозначен в заметках о выпуске — проверьте их перед --rollback после крупного обновления.