Перейти к содержанию

Обновление системы

Обновление при наличии доступа к внешнему репозиторию docker-образов YCR

  1. Остановите Стингрей согласно инструкциям в разделе «Остановка Стингрей».
  2. Обновите специальный docker-образ для подготовки конфигурационных файлов командой:

    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/wizard:latest
    

    Примечание

    Версия релиза может быть указана двумя способами. Если она указана как latest, будет использована версия последнего релиза Стингрей. Пожалуйста, уточняйте эту информацию у вендора или на официальном сайте. Также может быть указана версия конкретного релиза, например, 2022.08 или 2022.12. В этом случае будет команда может выглядеть, например, следующим образом:

    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/wizard:2022.12
    
  3. При обновлении ранее установленной версии Стингрей до версии 2022.12 необходимо выполнить несколько дополнительных шагов, связанных с изменением места хранения нескольких служебных каталогов.

    3.1. Создайте каталог с помощью команды

    sudo mkdir -p $HOME/service
    

    где $HOME — директория установки Стингрей, например, /opt/stingray/stingray_docker.

    3.2. Установите утилиту rsync, если она не была установлена ранее.

    apt install rsync
    
    yum install rsync
    

    3.3. Синхронизируйте служебные каталоги с помощью утилиты rsync.

    sudo rsync -aqxP /docker/stingray/postgresql $HOME/service
    sudo rsync -aqxP /docker/stingray/rabbitmq $HOME/service
    sudo rsync -aqxP /docker/stingray/redis $HOME/service
    sudo rsync -aqxP $HOME/neo4j $HOME/service
    sudo rsync -aqxP $HOME/nginx $HOME/service
    
  4. Запустите docker-контейнер с параметром update.

    docker run -i -t -v /opt/stingray:/opt/docker-files cr.yandex/crp8p3a3l1ri2431n3ce/release/wizard:latest update
    

    Примечание

    Версия релиза может быть указана двумя способами. Если она указана как latest, будет использована версия последнего релиза Стингрей. Пожалуйста, уточняйте эту информацию у вендора или на официальном сайте. Также может быть указана версия конкретного релиза, например, 2022.08 или 2022.12.

  5. После завершения копирования новых конфигурационных файлов необходимо выполнить команду обновления образов из директории с конфигурационными файлами (в примере — /opt/stingray):

    docker-compose pull
    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/android_api27:latest
    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/android_api30:latest
    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/ios:latest
    docker-compose up -d
    docker exec stingray-maintenance django-admin maintenance engines recreate
    

    Примечание

    Команда recreate пересоздает контейнеры в их ранее сохраненном состоянии, используя новые версии образов.

    Примечание

    Версия релиза может быть указана двумя способами. Если она указана как latest, будет использована версия последнего релиза Стингрей. Пожалуйста, уточняйте эту информацию у вендора или на официальном сайте. Также может быть указана версия конкретного релиза, например, 2022.08 или 2022.12.

    Примечание

    При скачивании нового образа старый образ не удаляется. Чтобы накопившиеся старые образы не занимали много места, рекомендуется их удалять, например, с помощью следующих команд:

    docker image prune
    

    Эта команда удалит все docker-образы без тегов (у которых тег <none>). Следует учитывать, что она не удалит образы с предыдущими версиями. Например, если была установлена версия Стингрей 2.7, а вместо нее поставили новую версию 2022.X, то старые образы не будут удалены, так как тег у старого образа будет 2.7, а не <none>.

    docker image prune -a
    

    Эта команда удалит docker-образы без тегов (у которых тег <none>) и docker-образы, которые не используются ни одним контейнером. Но если, например, ещё ни один engine контейнер для какого-нибудь нового образа не создавался (а такое может быть, например, если версия для iOS ещё не использовалась), то эта команда удалит соответствующий образ. Далее, когда возникнет необходимость создать контейнер из этого образа, то это сделать уже не удастся, так как такого образа уже не будет.

    docker image rm image_id
    

    Эта команда предназначена для индивидуального удаления образов.

  6. В случае возникновения ошибок возможна загрузка образов вручную:

    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/stingray:latest
    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/android_api27:latest
    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/android_api30:latest
    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/ios:latest
    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/stingray-ui:latest
    docker pull cr.yandex/crp8p3a3l1ri2431n3ce/release/stingray-knowledgebase:latest
    

    Примечание

    Версия релиза может быть указана двумя способами. Если она указана как latest, будет использована версия последнего релиза Стингрей. Пожалуйста, уточняйте эту информацию у вендора или на официальном сайте. Также может быть указана версия конкретного релиза, например, 2022.08 или 2022.12.

    После загрузки образов запустите систему согласно инструкциям в предыдущем пункте данного раздела.

  7. Если осуществляется переход с версии Стингрей 2.х на версию Стингрей 2022.X, для корректной работы вновь установленной версии необходимо однократное выполнение команды:

    docker exec stingray-maintenance django-admin maintenance engines fill_id
    

    Эта команда обеспечивает корректное взаимодействие всех компонентов системы после обновления версии. Повторное выполнение этой команды не имеет смысла, но при этом Стингрей продолжит корректно функционировать.

Обновление при отсутствии доступа к внешнему репозиторию docker-образов YCR

  1. Остановите Стингрей согласно инструкциям в разделе «Остановка Стингрей».

  2. При отсутствии доступа к внешнему репозиторию docker-образов образы поставляются в виде выгруженных tar-архивов. Их необходимо запросить у поставщика продукта.

  3. После того, как архивы загружены и перенесены на сервер Стингрей, необходимо их импортировать в docker. Для этого выполните следующую команду для всех полученных архивов:

    docker load -i <archive_name>.tar
    
  4. При обновлении ранее установленной версии Стингрей до версии 2022.12 необходимо выполнить несколько дополнительных шагов, связанных с изменением места хранения нескольких служебных каталогов, согласно инструкциям в пункте 3 раздела «Обновление при наличии доступа к внешнему репозиторию docker-образов YCR».

  5. Запустите специальный конфигуратор (Wizard) с параметром update.

    docker run -i -t -v /opt/stingray-docker-compose:/opt/docker-files cr.yandex/crp8p3a3l1ri2431n3ce/release/wizard:latest update
    

    Примечание

    Версия релиза может быть указана двумя способами. Если она указана как latest, будет использована версия последнего релиза Стингрей. Пожалуйста, уточняйте эту информацию у вендора или на официальном сайте. Также может быть указана версия конкретного релиза, например, 2022.08 или 2022.12.

  6. После загрузки образов запустите систему согласно инструкциям в разделе в пунктах 5 и 7 раздела «Обновление при наличии доступа к внешнему репозиторию docker-образов YCR».

К началу