Этап тестирования конвейера Gitlab не пройден И все равно создавать артефакты - PullRequest
0 голосов
/ 09 января 2019

У меня есть конвейер gitlab, работающий на компьютере с Windows 7 и powershell 4.0.

.yaml имеет типичные 3 этапа: сборка, тестирование и развертывание.

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

Вот сценарий раздела из теста:

script:
  - '$exitCode = (start-process C:\app_versions\app_20181211\bin\app.exe -PassThru -Wait).ExitCode'
  - 'cat .\TestLogs\BasicFunctionsTestPlan.log'
  - 'exit $exitCode'
artifacts:
  paths:
    - .\TestLogs
  expire_in: 1 year

Здесь у меня возникла одна проблема: после завершения теста этап всегда завершается успешно, даже если сам тест не пройден. Затем мне пришлось принудительно завершить работу скрипта с кодом ошибки на случай, если приложение сообщит мне, что тесты не пройдены.

Это вызвало вторую проблему: ссылки на артефакты не создаются, даже если они доступны (мой тест все равно производит их).

Возможно, если бы я знал, как сказать gitlab, что тест не прошел более чистым способом, артефакты были бы в любом случае доступны.

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

Заранее спасибо за помощь!

РЕДАКТИРОВАТЬ:

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

...