Рабочий процесс CI/CD с использованием FAST

Соглашение о терминах

В этом руководстве используются следующие русскоязычные эквиваленты английских терминов:

  • Задание CI/CD — CI/CD job.
  • Рабочий процесс CI/CD — CI/CD workflow, CI/CD pipeline и другие аналогичные термины.

    Также будет использоваться термин «API» в значении «Валарм API», если не указано иное.

Интеграция FAST в рабочий процесс CI/CD предполагает добавление новых этапов в уже существующий рабочий процесс. Они могут быть оформлены и как самостоятельные задания, и как новые шаги в рамках уже существующего задания.

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

Интеграция через API Валарм (далее — развертывание с API).

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

Интеграция с API

В этом сценарии система обладает следующими свойствами:

  • Один контейнер FAST-ноды — одна нода в облаке. Для одновременного запуска нескольких контейнеров FAST-нод вам потребуется соответствующее число нод в облаке и такое же число токенов.
  • При запуске очередной FAST-ноды через ноду в облаке, через которую уже работает другая FAST-нода, тест безопасности последней будет прерван.
  • Одна политика безопасности и один набор запросов могут использоваться несколькими тестами безопасности и FAST-нодами.

Подробно процесс интеграции описан здесь.

Интеграция через FAST-ноду (далее — развертывание с CI MODE).

Сценарий подразумевает использование FAST-ноды в режимах записи и тестирования путем изменения параметра CI_MODE (режим управления через FAST-ноду) при запуске контейнера FAST-ноды. При этом обращения к API Валарм не требуется. Работа FAST-ноды в режимах записи и тестирования схематично изображена на рисунке ниже:

Интеграция с CI MODE

В этом сценарии система обладает следующими свойствами:

  • Один контейнер FAST-ноды — одна нода в облаке. Для одновременного запуска нескольких контейнеров FAST-нод вам потребуется соответствующее число нод в облаке и такое же число токенов. Для корректного запуска нескольких FAST-нод в параллельных (одновременных) рабочих процессах CI/CD вам необходимо использовать дополнительный механизм при запуске с CI MODE, который описан далее.
  • При запуске очередной FAST-ноды в режиме тестирования через ноду в облаке, через которую уже работает другая FAST-нода в режиме тестирования, тест безопасности последней будет прерван.
  • Одна политика безопасности и один набор запросов могут использоваться несколькими тестами безопасности и FAST-нодами.

Подробно процесс интеграции описан здесь.

Развертывание FAST-нод с CI MODE в параллельных рабочих процессах CI/CD

Развертывания FAST-нод в параллельных рабочих процессах подразумевает развертывание с CI MODE (в режимах записи и тестирования), но при этом контейнеру FAST-ноды передается дополнительный параметр BUILD_ID. Параметр позволяет производить параллельную запись разных наборов запросов через одну ноду в облаке, а затем использовать их параллельно в разных тестах безопасности. Схематически развертывание FAST-нод в параллельных рабочих процессах CI/CD представлено на рисунках ниже:

Интеграция с BUILD_ID

В этом сценарии система обладает следующими свойствами:

  • Через одну и ту же FAST-ноду в облаке в параллельных рабочих процессах CI/CD может одновременно работать несколько FAST-нод. При этом используется один и тот же токен.
  • Запущенные тесты безопасности используют именно те наборы запросов, которые соответствуют указанному BUILD_ID.
  • В параллельных тестах безопасности могут использоваться разные политики безопасности.

Подробно процесс запуска FAST-нод в параллельных рабочих процессах CI/CD описан здесь.

Поддержка HTTPS

В этом руководстве описывается интеграция FAST в CI/CD для тестирования целевого приложения, работающего по протоколу HTTP.

FAST-нода также поддерживает тестирование приложений, работающих по протоколу HTTPS. Работа FAST с HTTPS описана в документе «Быстрый старт».

results matching ""

    No results matching ""