Запуск Docker-контейнера c FAST-нодой в режиме записи

FAST-нода в этом режиме запускается перед проведением существующих тестов для целевого приложения. Инструмент тестирования, настроенный на проксирование через FAST-ноду, отправляет свои HTTP- или HTTPS-запросы с тестами целевому приложению, а FAST-нода сохраняет эти запросы (базовые запросы) в набор запросов.

Необходимые сведения

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

Далее будут использоваться следующие демонстрационные значения:

  • токен token_Qwe12345,
  • идентификатор набора запросов rec_0001.

Установка docker-compose

Для демонстрации работы FAST-ноды в режиме записи в данном руководстве будет использоваться docker-compose. Инструкции по установке вы можете прочитать здесь.

Переменные в режиме записи

Для изменения настроек FAST-ноды используются различные параметры. Их значения можно изменять, задавая переменные окружения FAST-ноды с соответствующими именами. В таблице ниже приведены параметры, которые вы можете использовать в режиме записи FAST-ноды:

Параметр Значение Обязателен
WALLARM_API_TOKEN Токен, полученный ранее в облаке Валарм. Да
WALLARM_API_HOST Адрес используемого API-сервера Валарм.
Возможные значение:
us1.api.wallarm.com — для американского облака;
api.wallarm.com — для европейского облака;
api.wallarm.ru — для российского облака.
Да
CI_MODE Режим работы FAST-ноды.
Необходимое значение: recording.
Да
TEST_RECORD_NAME Имя создаваемого test record'а.
По умолчанию имя будет формата: "TestRecord Oct 08 12:18 UTC".
Нет
INACTIVITY_TIMEOUT Период времени, через который при отсутствии базовых запросов запись завершается.
Возможные значения: от 1 до 691200 секунд (1 неделя).
По умолчанию: 600 секунд (10 минут).
Нет
ALLOWED_HOSTS Перечень хостов целевого приложения, запросы к которым будут записаны в test record.
По умолчанию записываются все запросы.
Подробнее здесь.
Нет
BUILD_ID Идентификатор рабочего процесса CI/CD, который позволяет нескольким FAST-нодам работать одновременно (в параллельных рабочих процессах CI/CD) через одну и ту же ноду в облаке. Подробнее здесь. Нет

Смотрите также

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

Пример запуска FAST-ноды в режиме записи

Для демонстрации режима записи FAST-ноды создайте для docker-compose файл конфигурации docker-compose.yaml. Ниже приведен пример файла docker-compose.yaml с минимально необходимым набором переменных среды окружения (секция environment) для запуска FAST-ноды. Обратите внимание на значение переменной CI_MODE:

version: '3'
  services:
    fast:                                        
      image: wallarm/fast
      environment:
        WALLARM_API_TOKEN: token_Qwe12345        # Здесь используйте свой токен
        WALLARM_API_HOST: us1.api.wallarm.com    # Используется для американского облака. Для европейского — api.wallarm.com, для российского — api.wallarm.ru.
        CI_MODE: recording
      ports:
        - '8080:8080'                              
      networks:
        main:
          aliases:
            - fast

networks:
  main:

Для запуска Docker-контейнера FAST-ноды перейдите в директорию, в которой находится файл docker-compose.yaml, и выполните команду:

docker-compose up fast

Результатом успешного выполнения команды и запуска FAST-ноды будет вывод в терминал подобных сообщений:

  __      __    _ _
  \ \    / /_ _| | |__ _ _ _ _ __
   \ \/\/ / _` | | / _` | '_| '  \
    \_/\_/\__,_|_|_\__,_|_| |_|_|_|
             ___ _   ___ _____
            | __/_\ / __|_   _|
            | _/ _ \\__ \ | |
            |_/_/ \_\___/ |_|

 Loading...
 [info] Node connected to Wallarm Cloud
 [info] Loaded 0 custom extensions for fast scanner
 [info] Loaded 44 default extensions for fast scanner
 [info] TestRecord#rec_0001 TestRecord Oct 01 01:01 UTC starts to record

Это значит, что FAST-нода подключилась к облаку Валарм и создала набор запросов c идентификатором rec_0001 и именем TestRecord Oct 01 01:01 UTC. Начался процесс записи базовых запросов.

Выполнение тестов

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

Остановка Docker-контейнера FAST-ноды и его удаление

После записи необходимых базовых запросов и завершения работы FAST-нода возвращает процессу CI/CD определенный код завершения (exit code). Если запись прошла успешно и не было непредвиденных ошибок, то возращается exit code = 0.

Если FAST-нода автоматически завершила работу из-за отсутствия базовых запросов (см. переменную INACTIVITY_TIMEOUT) или возникли непредвиденные ошибки в работе FAST-ноды, то возвращается exit code = 1.

После завершения работы Docker-контейнер FAST-ноды необходимо остановить и удалить для дальнейшего запуска FAST-ноды в режиме тестирования. Для остановки контейнера выполните команду docker-compose stop <имя контейнера FAST-ноды> (в нашем примере имя запущенного контейнера fast):

docker-compose stop fast

Для удаления контейнера воспользуйтесь командой docker-compose rm <имя контейнера FAST-ноды>:

docker-compose rm fast

Кроме того, вы можете воспользоваться командой docker-compose down, которая останаливает и удаляет контейнеры сервисов, описанных в файле docker-compose.yaml.

results matching ""

    No results matching ""