У меня есть конвейер 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, что тест не прошел более чистым способом, артефакты были бы в любом случае доступны.
Я согласен, что файл журнала не является артефактом, но я хотел бы сохранить этот файл, чтобы проверить, как выполнялись тесты, возможно, есть лучший способ сохранить этот файл.
Заранее спасибо за помощь!
РЕДАКТИРОВАТЬ:
Похоже, что у других людей была такая же проблема здесь , возможно, это поможет лучше понять проблему.