Я новичок в gitlab runner и пытаюсь настроить accept_stage после прохождения модульного теста. Тесты выполняются на компьютере windows, когда задание запускается. Задание завершается, когда тесты пройдены, но задание останавливается, если тест не пройден. У меня сейчас только 1 тест, и я планирую запустить несколько тестов параллельно, когда эта проблема будет исправлена. Тест запускается командой maven. (Я настроил тест таким образом, чтобы он не прошел.) Тест не пройден по этой команде: mvn verify -P rest-test-run -Denvironment = "qa" -Dwebdriver. chrome .driver = "C: \ tools \ chromedriver.exe" , и задание останавливается и не может выполнить следующую команду. Вот пример файла yaml, который я использую для запуска этапа приемки:
stages:
- test
acceptance_tests:
stage: test
tags:
- playground
only:
- ci_cd_test
before_script:
- export POM_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
- cd ..
- git clone "git@gitlab.<project>" "<automation project name>" 2> /dev/null || (cd "<automation project name>" ; git pull)
- cd <webapp project name>
- export DB_URL=jdbc url
- export DB_USER=username
- export DB_PASSWORD=password
variables:
GIT_STRATEGY: none
script:
# flyway migrates
- java -Dfile.encoding=UTF-8 -jar <webapp project name>/target/<webapp project name>-$POM_VERSION.jar flyway migrate
# Bring up the app
- ./start.sh
# Run cucumber test
- cd ../<automation project name>
- mvn verify -P rest-test-run -Denvironment="qa" -Dwebdriver.chrome.driver="C:\tools\chromedriver.exe"
- cd ../<webapp project name>
# Stop the app
- ./stop.sh
Я также приложил снимок экрана с задержкой задания.
Некоторые идеи по устранению неполадок, которые я пытался реализовать:
- обновленный surefireplugin (версия, которую я использую в 2.22.0)
- добавил cleanup_job в файл yaml
- запускал тесты не параллельно, вышеупомянутые идеи не решили проблему.