Инструкция описывает переход с версии 2.1 на версию 2.2, а также последующее обновление в рамках ветки 2.2.x до актуальной минорной версии — 2.2.1.
Если вы уже используете версию Ринго 2.2, для обновления в рамках ветки воспользуйтесь разделом Обновление в рамках ветки 2.2.x в конце статьи.
Cоздайте резервную копию Ринго.
Убедитесь, что сервер, где развёрнута система Ринго, имеет доступ в сеть Интернет по портам 80, 443 без ограничений по IP-адресам и доменам.
Проведите диагностику вашей текущей инсталляции:
Убедитесь, что управляемые устройства сохранят доступ к серверу Ринго даже после удаления из MDM. Распространение через MDM критичных настроек доступа (таких как Wi-Fi или корневые сертификаты) может привести к потере связи.
Проверьте, что в /etc/ringo/docker-compose.yml для контейнера roll-deploy-backend указан правильный параметр image:
image: cr.yandex/crpsam2fr3938ne18jd0/ringo:2.2
cd /etc/ringo
docker-compose.yml:docker compose pull
backend, пересобрав его и не трогая зависимости:docker compose up --force-recreate --no-deps --build -d backend
/etc/ringo)bash getHostInfo.sh
hostInfo.json и docker-compose.yml в контейнер roll-deploy-backend. После копирования перезапустите контейнер, чтобы система прочитала их содержимое:docker cp hostInfo.json roll-deploy-backend:/hostInfo.json
docker cp docker-compose.yml roll-deploy-backend:/docker-compose.yml
docker container restart roll-deploy-backend
client_max_body_size 5m;, которая устанавливает максимально допустимый размер тела запроса от клиента — 5 мегабайт:docker cp ringo-proxy-settings.conf ringo-nginx-proxy-1:/etc/nginx/conf.d/ringo-proxy-settings.conf
docker container restart ringo-nginx-proxy-1
При использовании собственного прокси-сервера не забудьте указать параметр
client_max_body_sizeили скорректировать его значение в соответствии с указанным выше.
Версия 2.2 добавляет поддержку Self Service.
location для обеспечения доступа к Self Service, в качестве IP-адреса укажите адрес вашего сервера Ринго:location /api/v1/self-service {
proxy_pass http://127.0.0.1:5000/api/v1/self-service;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_buffering off;
}
Используйте этот раздел, если у вас уже установлена версия Ринго 2.2, и требуется обновиться до актуальной минорной версии ветки — 2.2.1.
Особенностей в переходе нет — обновление выполняется типовым способом: смена тега образа в docker-compose.yml, загрузка образа и пересборка контейнера backend. Дополнительные миграции БД, изменения volume или конфигурации nginx не требуются — шаги, связанные со сбором hostInfo.json и настройкой nginx (client_max_body_size), выполненные при переходе с 2.1 на 2.2, повторно выполнять не нужно.
Cоздайте резервную копию Ринго.
Проверьте, что в /etc/ringo/docker-compose.yml для контейнера roll-deploy-backend указан правильный параметр image:
image: cr.yandex/crpsam2fr3938ne18jd0/ringo:2.2.1
Контрольная сумма образа:
sha256:a239bdd25628791c189d668831e9d440f8fb3732d7501ebc9c8875cac75ff2c0
Если срок действия ключа для аутентификации в Docker-реестре истёк, обновите его командой:
cat /etc/ringo/key.json | docker login --username json_key --password-stdin cr.yandex
cd /etc/ringo
docker compose pull
docker compose up --force-recreate --no-deps --build -d backend