Интеграция FAST в проект Bamboo
Настройка интеграции FAST в режиме CI MODE в рабочий процесс Bamboo возможна следующими способами:
- через YAML-спецификацию;
- через JAVA-спецификацию;
- через интерфейс Bamboo.
В примере ниже интеграция настраивается через YAML-спецификацию bamboo-specs/bamboo.yaml
.
Установка токена FAST-ноды
Для безопасного использования токена FAST-ноды передайте его значение в переменной окружения Bamboo.
Настроенный рабочий процесс
Дальнейшая инструкция предполагает, что у вас уже есть настроенный рабочий процесс, соответствующий одному из свойств:
в рабочем процессе реализовано автотестирование – добавляются этап записи запросов и этап тестирования безопасности;
для рабочего процесса уже записан набор базовых запросов – добавляется только этап тестирования безопасности.
Добавление этапа записи запросов
Для добавления этапа записи запросов дополните шаг автотестирования приложения следующими настройками:
Добавьте команду запуска FAST-ноды в режиме
CI_MODE=recording
и с другими переменными перед командой запуска автотестов. Например:docker run --name fast -d -e WALLARM_API_TOKEN=${bamboo_WALLARM_API_TOKEN} -e CI_MODE=recording -e WALLARM_API_HOST=us1.api.wallarm.com -e ALLOWED_HOSTS=dvwa -p 8080:8080 --network my-network --rm wallarm/fast
Настройте проксирование автотестов через FAST-ноду. Например:
docker run --rm -d --name selenium -e http_proxy='http://fast:8080' --network my-network selenium/standalone-firefox:latest
Сеть Docker
Перед записью тестов убедитесь, что FAST-нода и инструмент тестирования запускаются в одной сети Docker.
В приведенном примере выполняются следующие команды: Пример шага автотестирования приложения с запуском FAST-ноды в режиме записи
test:
key: TST
tasks:
- script:
interpreter: /bin/sh
scripts:
- docker network create my-network
- docker run --rm --name dvwa -d --network my-network wallarm/fast-example-dvwa-base
- docker run --name fast -d -e WALLARM_API_TOKEN=${bamboo_WALLARM_API_TOKEN} -e CI_MODE=recording -e WALLARM_API_HOST=us1.api.wallarm.com -e ALLOWED_HOSTS=dvwa -p 8080:8080 --network my-network --rm wallarm/fast
- docker run --rm -d --name selenium -e http_proxy='http://fast:8080' --network my-network selenium/standalone-firefox:latest
- docker run --rm --name tests --network my-network wallarm/fast-example-dvwa-tests
- docker stop selenium fast
my-network
.my-network
.my-network
.my-network
с использованием FAST-ноды как прокси.
Добавление этапа тестирования безопасности приложения
Для тестирования безопасности приложения настройте соответствующий отдельный шаг в рабочем процессе следующим образом:
- Если тестируемое приложение не запущено, добавьте команду запуска приложения.
Добавьте команду запуска FAST-ноды в режиме
CI_MODE=testing
и с другими необходимыми переменными после команды запуска приложения.Использование записанного набора запросов
Если набор запросов был записан в другом рабочем процессе, при запуске FAST-ноды необходимо указать идентификатор существующей записи в переменной TEST_RECORD_ID.
Если значение переменной не указано, используется последний набор запросов, записанный FAST-нодой.
Пример команды:
docker run --name fast -e WALLARM_API_TOKEN=${bamboo_WALLARM_API_TOKEN} -e CI_MODE=testing -e WALLARM_API_HOST=us1.api.wallarm.com -p 8080:8080 -e TEST_RUN_URI=http://dvwa:80 --network my-network --rm wallarm/fast
Сеть Docker
Перед тестированием безопасности убедитесь, что FAST-нода и тестируемое приложение запускаются в одной сети.
Команды выполняются в сети Добавление нового шага Описание тела нового шага В приведенном примере выполняются следующие команды: Пример шага с тестированием безопасности приложения
my-network
, которая уже была создана на шаге с записью запросов. Тестируемое приложение DVWA также уже запущено на шаге с записью запросов.
security_testing
в список stages
. В данном примере этот шаг завершает рабочий процесс. stages:
- testing:
manual: false
jobs:
- test
- security_testing:
final: true
jobs:
- security_test
security_test
: security_test:
key: SCTST
tasks:
- script:
interpreter: /bin/sh
scripts:
- docker run --name fast -e WALLARM_API_TOKEN=${bamboo_WALLARM_API_TOKEN} -e CI_MODE=testing -e WALLARM_API_HOST=us1.api.wallarm.com -p 8080:8080 -e TEST_RUN_URI=http://dvwa:80 --network my-network --rm wallarm/fast
- docker stop dvwa
- docker network rm my-network
my-network
. TEST_RECORD_ID
не указывается, так как необходимый набор базовых запросов был создан в этом же рабочем процессе и является последним записанным. Остановка FAST-ноды выполнится автоматически после завершения тестирования.my-network
.
Получение результата тестирования
Результат проведенного тестирования безопасности отображается в логах сборки в интерфейсе Bamboo. Также, Bamboo позволяет скачать файл с расширением .log
со всеми логами.
Больше примеров
Больше примеров интеграции FAST в рабочий процесс Bamboo доступно в нашем GitHub.
Если у вас возникли вопросы по интеграции FAST в рабочий процесс Bamboo, обратитесь в службу поддержки Валарм.
results matching ""
No results matching ""
results matching ""
No results matching ""