0

Ich könnte das Konzept missverstanden haben, aber schlägt ein Codebuild-Schritt fehl, wenn ein Fehler in Ihrem Code vorliegt und dieser Code nicht erstellt werden kann? Ich nahm an, dass, wenn ein Befehl in meinen Build-Befehlen fehlschlägt, er mich benachrichtigen und/oder die weiteren nach dem Build-Aktionen stoppen wird.AWS CodeBuild für Python schlägt nicht fehl

Ich habe eine sehr einfache Codebuild, die einen Python-Code ausführen soll (meine Einheit testet in diesem Fall). Unten ist mein 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` 

In dieser run_unittests.py Datei gibt es einen Syntaxfehler.

Wenn der Lauf endet, zeigt es als Erfolg, aber in den Protokolldateien sehe ich, es sieht Python Syntax Fehler protokolliert!

Die einzige Möglichkeit, dies zu scheitern ist, wenn ein Fehler in meiner Datei buildspec.yml, nicht in meiner Python-Datei ist! Es geht sogar zum nächsten Schritt in der CodePipeline !!

Bin ich missverstanden? Und wenn nicht, wie kann ich dies auf dem Python-Code fehlschlagen oder Unit-Test behauptet?

Im Folgenden finden Sie die Zeilen, die ich in den Details:

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) 

Antwort

2

CodeBuild Erfolg oder Misserfolg auf der Grundlage der gemeinsamen Konvention von Null/Nicht-Null-Exit-Codes bestimmt bzw. Erfolg/Misserfolg anzuzeigen.

Wenn der Build erfolgreich ist, bedeutet dies, dass der Befehl, den Sie zum Ausführen der Komponententests verwenden, einen Wert von Null zurückgibt, den CodeBuild als Erfolg interpretiert.

In Python können Sie sys.exit() verwenden, um einen Exit-Code ungleich Null (Fehler) zurückzugeben. Zum Beispiel: sys.exit(1)

Verwandte Themen