У меня есть два разных репозитория проектов: мой репозиторий приложений и репозиторий API. Мое приложение взаимодействует с API.
Я хочу настроить некоторые интеграционные и E2E-тесты своего приложения. При выполнении этих тестов приложению потребуется использовать последнюю версию проекта API.
Проект API уже настроен для развертывания при запуске
deploy_integration_tests:
stage: deploy
script:
- echo "deploying..."
environment:
name: integration_testing
only:
- triggers
В моем приложении есть задание на интеграционное тестирование, настроенное следующим образом:
integration_test
stage: integration_test
script:
- echo "Building and deploying API..."
- curl.exe -X POST -F token=<token> -F ref=develop <url_for_api_trigger>
- echo "Now running the integration test that depends on the API deployment..."
Проблема, с которой я столкнулся, заключается в том, что триггер ставит в очередь только конвейер API (оба проекта используют один и тот же бегун) и продолжает работу до того, как конвейер API действительно запустится.
Есть ли способ дождаться запуска конвейера API, прежде чем пытаться запустить интеграционный тест?
Я могу сделать что-то вроде этого:
integration_test_dependency
stage: integration_test_dependency
script:
- echo "Building and deploying API..."
- curl.exe -X POST -F token=<token> -F ref=develop <url_for_api_trigger>
integration_test
stage: integration_test
script:
- echo "Now running the integration test that depends on the API deployment..."
Но это по-прежнему не гарантирует, что конвейер API запускается и завершается перед переходом к этапу integration_test.
Есть ли способ сделать это?