2017-12-08 11 views
0

次のステップを実行する前に、まずデプロイメントをテストするステップがTeamCityにあります。ステップは正常に終了しました "オプションが選択されました)。私は.deploy.cmdスクリプトを使い、テストモードで実行するために/ Tスイッチを渡しました。プロセスはコード0で戻りますが、テストのデプロイメントはエラーコードを返します。TeamCityテストコード0で終了したステッププロセスをデプロイし、エラーが発生しても次のステップに進む

どうすれば失敗するのですか?次のステップには行かないのですか?

おかげで、

Error Snapshot

答えて

0

(以下、エラーのスナップショットがある)あなたはCMDスクリプトを呼び出すためのRunner typePowerShellを使用することができます。 PowerShellを使用すると、try-catch構造体を使用し、コードにエラーが発生したときにエラーコード> 0を返すことができます。

例えば:%TestArg%があなたのConfiguration Parameterあり、かつ/Tまたは何も等しい、

$result = $null 
try 
{ 
    $result = &("C:\Users\guest\deploy.cmd") %TestArg% 
} 
catch 
{ 
    $errorMessage = $_.Exception.Message 
    Write-Error "Error on deploy: $errorMessage" 
    exit 1 
} 
echo $result 

。 スクリプトは、いくつかの結果を返す場合は、それを解析し、エラーコードを返すことができ、手動で

if($result.ToLower().Contains("error")) 
{ 
    Write-Error "Deploy operation result contains error(s)" 
    exit 1 
} 

注:それは私には思えたとしてパラメータFormat stderr output asはビルドログの表示エラーの色に責任がある 。 SSDT(SqlPackage.exe)を使用して展開データベースにこのソリューションを使用します。これは、エラーの場合でも建物や次の手順を中止しないためです

関連する問題