ИШ обновляется через сервер лицензий вместе с bj; наглядный ход установки ИШ
- Дистрибутив ИШ — компонент выпуска igate-dist (версия = версия ИШ). В выпуск попадает только одобренный архив: deploy/release/igate-approved (версия и sha256), сборка сверяет контрольную сумму. Клиент получает его обновлением; bj-server после обновления (и при запуске) сам обновляет ИШ, если на сервере он старее; итог — событие в «Новостях». Настройки, каналы и база ИШ сохраняются, прежняя версия — в /var/backups. - Установка «с сервера» берёт самый новый проверенный дистрибутив: с образа или из обновления. С сайта НРД — только в режиме разработки. - Большие файлы: одна прежняя копия вместо пяти; предел скачивания — по размеру. - Ход установки ИШ — этапами: пройденные, текущий («идёт 0:41 · обычно до 1:30», дольше обычного — предупреждение), журнал под раскрытием; кнопка на время установки выключена. - Установщик: уникальные этапы; igate-cli и сессия ключницы с принудительным завершением (timeout -k); зависшая установка (ход не менялся 15 минут) снимается повторным запуском; служба установки — не дольше 40 минут. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -237,6 +237,9 @@ func (u *Updater) ApplyUpdate(ctx context.Context, names []string) (string, erro
|
||||
progressStage(1, "Проверка выпуска на сервере лицензий")
|
||||
msg, err := u.applyUpdate(ctx, names)
|
||||
progressEnd(msg, err)
|
||||
if err == nil { // с обновлением мог прийти новый проверенный дистрибутив ИШ — обновить шлюз
|
||||
go igateAutoUpgrade(context.Background(), u.rc)
|
||||
}
|
||||
return msg, err
|
||||
}
|
||||
|
||||
@@ -443,7 +446,7 @@ func (u *Updater) ensureSplitModules(ctx context.Context) (string, error) {
|
||||
if len(names) == 0 {
|
||||
return "", nil
|
||||
}
|
||||
cctx, cancel := context.WithTimeout(ctx, 10*time.Minute)
|
||||
cctx, cancel := context.WithTimeout(ctx, 30*time.Minute) // с дистрибутивом ИШ (160 МБ) скачивание дольше
|
||||
defer cancel()
|
||||
msg, err := u.ApplyUpdate(cctx, names)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user