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

Обновление 4.1.0 до 4.2.0

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

  1. Установите SSH-соединение с сервером.

    ssh <user-name>@<your-server>
    
  2. Перейдите в директорию, указанную при установке AppSec.Track (рекомендуемая директория — /opt/appsec-track/).

    cd /opt/appsec-track
    
  3. Остановите и удалите контейнеры AppSec.Track, выполнив команду:

    sudo docker-compose down
    
  4. Загрузите образы в Docker. Предусмотрена возможность загрузки образов как из репозитория registry.appsec.global, так и из дистрибутива.

    1. Авторизуйтесь в репозитории registry.appsec.global.

      sudo docker login registry.appsec.global -u <user-name>
      
    2. Загрузите образы.

      sudo docker pull registry.appsec.global/appsec-track/track-backend:4.2.0
      sudo docker pull registry.appsec.global/appsec-track/track-frontend:4.2.0
      sudo docker pull registry.appsec.global/appsec-track/track-db:4.2.0
      sudo docker pull registry.appsec.global/appsec-track/track-redis:4.2.0
      sudo docker pull registry.appsec.global/appsec-track/track-scanner:4.2.0
      
    1. Скопируйте Docker-образы на сервер.

      scp home/<user-name>/track-backend-4.2.0.tar root@<your-server>:/home/<user-name>
      scp home/<user-name>/track-frontend-4.2.0.tar root@<your-server>:/home/<user-name>
      scp home/<user-name>/track-db-4.2.0.tar root@<your-server>:/home/<user-name>
      scp home/<user-name>/track-redis-4.2.0.tar root@<your-server>:/home/<user-name>
      scp home/<user-name>/track-scanner-4.2.0.tar root@<your-server>:/home/<user-name>
      
    2. Загрузите образы.

      sudo docker load --input /home/<user-name>/track-backend-4.2.0.tar
      sudo docker load --input /home/<user-name>/track-frontend-4.2.0.tar
      sudo docker load --input /home/<user-name>/track-db-4.2.0.tar
      sudo docker load --input /home/<user-name>/track-redis-4.2.0.tar
      sudo docker load --input /home/<user-name>/track-scanner-4.2.0.tar
      

    Примечание

    <user-name> — имя пользователя;
    <your-server> — URL или IP сервера.

  5. Для проверки результатов предыдущих шагов выполните следующую команду:

    sudo docker images
    

    Необходимо убедиться, что в списке Docker-контейнеров присутствуют track-backend, track-frontend, track-db, track-redis и track-scanner, а также проверить версию каждого контейнера.

    REPOSITIRY                                          TAG
    registry.appsec.global/appsec-track/track-backend:4.2.0
    registry.appsec.global/appsec-track/track-frontend:4.2.0
    registry.appsec.global/appsec-track/track-db:4.2.0
    registry.appsec.global/appsec-track/track-redis:4.2.0
    registry.appsec.global/appsec-track/track-scanner:4.2.0
    
  6. Отредактируйте файл переменных окружения .env, указав в переменных backend_image, frontend_image, db_image, redis_image и scanner_image новые версии образов, полученные на предыдущем шаге, например:

    Редактирование файла .env

    Для отображения файлов, имена которых начинаются точкой, например .env, рекомендуется использовать команду:

    ls -la
    

    Для редактирования можно воспользоваться редактором nano:

    sudo nano .env
    
    .env
    # Images
    backend_image=registry.appsec.global/appsec-track/track-backend:4.2.0
    frontend_image=registry.appsec.global/appsec-track/track-frontend:4.2.0
    db_image=registry.appsec.global/appsec-track/track-db:4.2.0
    redis_image=registry.appsec.global/appsec-track/track-redis:4.2.0
    scanner_image=registry.appsec.global/appsec-track/track-scanner:4.2.0
    
  7. В файле nginx/default.conf добавьте выделенные строки в блок server:

    server {
        ...
        root /usr/share/nginx/html;
    
        location ~* ^(?!/swagger).*\.(?:js|css|woff2?|ttf|eot|ico|svg|png|jpg|jpeg|gif|webp)$ {
            expires 1y;
            add_header Cache-Control "public, max-age=31536000, immutable";
            access_log off;
        }
        location / {
            ...
            add_header Cache-Control "no-cache, no-store, must-revalidate" always;
            add_header Pragma "no-cache" always;
            add_header Expires "0" always;
            ...
        }
    }
    

    Обратите внимание, что строка:

        root /usr/share/nginx/html;
    

    ранее уже присутствовала, но была расположена в блоке location /, а теперь она переместилась на уровень выше в блок server. Из блока location / эту строку необходимо удалить.

  8. В файле config/application-prod.yaml в блоке server необходимо переименовать параметр max-http-header-size в max-http-request-header-size.

    В этом же файле отредактируйте блок management - замените приведенную ниже строку:

    enabled-by-default: on
    

    на следующие строки:

    access:
        default: unrestricted
    
  9. Запустите контейнеры AppSec.Track.

    sudo docker-compose up -d
    

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

  10. Перейдите в пользовательский интерфейс AppSec.Track по адресу хоста (например, http://<AppSec.Track_IP_address>:8070/). Логин и пароль пользователя после обновления останутся прежними.