Jenkins で簡単なビルド プロセスをテストしています。ビルド セクションには、Windows バッチ コマンドの実行があります。
echo %ERRORLEVEL%
cscript C:\Users\user\Documents\test.vbs
echo %ERRORLEVEL%
私の test.vbs は、ERRORLEVEL
環境変数を設定する以外には何もしません。wscript.quit
また、それが影響するかどうかを確認するために使用してみましたERRORLEVEL
dim wShell
dim wSysEnv
set wShell = Wscript.CreateObject("WScript.Shell")
set wSysEnv = wShell.Environment("SYSTEM")
WScript.Echo "ERRORLEVEL=" & wSysEnv( "ERRORLEVEL" )
wSysEnv( "ERRORLEVEL" ) = 0
WScript.Echo "ERRORLEVEL=" & wSysEnv( "ERRORLEVEL" )
wSysEnv( "ERRORLEVEL" ) = 2
WScript.Echo "ERRORLEVEL=" & wSysEnv( "ERRORLEVEL" )
WScript.Quit 3
ビルド後のアクションはありません。コンソール出力は次のとおりです。
Started by user anonymous
Building in workspace C:\Program Files (x86)\Jenkins\jobs\TADS Host-Agent client\workspace
[workspace] $ cmd /c call C:\Users\user\AppData\Local\Temp\hudson4571524647235360597.bat
C:\Program Files (x86)\Jenkins\jobs\TADS Host-Agent client\workspace>echo 1
1
C:\Program Files (x86)\Jenkins\jobs\TADS Host-Agent client\workspace>cscript C:\Users\user\Documents\test.vbs
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
ERRORLEVEL=0
ERRORLEVEL=0
ERRORLEVEL=2
C:\Program Files (x86)\Jenkins\jobs\TADS Host-Agent client\workspace>echo 1
1
C:\Program Files (x86)\Jenkins\jobs\TADS Host-Agent client\workspace>exit 1
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
上記の出力に示すように、ERRORLEVEL
スクリプトを開始する前は 1 です。スクリプトは正常ERRORLEVEL
に 2 に設定され、コード 3 で終了します。しかしERRORLEVEL
、スクリプトの最後で を確認すると、開始時に 1 に戻ります。 .
環境変数は現在のプロセスと子プロセスに対してのみ設定されていると述べたページをいくつか見つけました。つまり、セッション環境変数です。
ERRORLEVEL
Jenkinsがテストを成功または失敗として報告するように設定するにはどうすればよいですか? スクリプトの実行開始時にのみ、実行時に変数をチェックするようには見えません。スクリプトが変数の値を変更する可能性があるため、これは役に立ちません。