Возможно, я неправильно понял концепцию, но разве шаг Codebuild не терпит неудачу, когда в вашем коде есть ошибка, и он не может построить этот код? Я предположил, что если одна команда в моих командах сборки завершится ошибкой, она уведомит меня и/или остановит дальнейшие действия после сборки.
У меня есть очень простой Codebuild, который предполагает запуск кода Python (в данном случае мои модульные тесты). Ниже мой buildspec.yml:
version: 0.2
phases:
build:
commands:
- echo Build started on `date`
- echo Compiling the Python code...
- pythonk run_unittests.py
post_build:
commands:
- echo Build completed on `date`
В этом файле run_unittests.py есть синтаксическая ошибка.
Когда запуск заканчивается, он показывает, что он успешен, но в файлах журнала я вижу, что регистрируется синтаксическая ошибка python!
Единственный способ, которым я могу потерпеть неудачу, - это когда есть ошибка в моем файле buildspec.yml, а не в моем файле python! Он даже переходит к следующему шагу в CodePipleline!!
Меня неправильно поняли? И если нет, то как я могу заставить это потерпеть неудачу в коде Python или утверждениях модульного теста?
Ниже приведены строки, которые я вижу в деталях:
Traceback (most recent call last):
File "/codebuild/output/...py", line 33, in test_func
poo
NameError: global name 'poo' is not defined
----------------------------------------------------------------------
Ran 5 tests in 0.000s
FAILED (errors=2)