私は、MSBuildスクリプトを使用して、コンパイル、テストの実行、およびmsdeployを使用したアプリケーションのパッケージ化を行う多数のビルドステップでビルドしています。 現在のところ、私のテストのいずれかが失敗した場合、パッケージはまだビルドされますが、ビルドが失敗した時点で停止するか、変数をMSBuildスクリプトに渡すことができます。ステージをテスト/コンパイルし、その変数の値に基づいてパッケージを作成します。プロジェクトの一つは、ビルドに失敗したとき 現在、私はこの情報が含まれているすべての変数を見つけることができませんでした。..TeamCityでビルドステップの終了コードを取得
0
A
答えて
1
trueの場合、これ以上のプロジェクト が構築されます。
さらに、build parametersを定義し、条件付きTeamCitySetStatusを設定します。
1
これは、ステップごとに別々のステップと別々のビルドスクリプトがある場合、チームシップで簡単に実行できます。しかし、スクリプトを呼び出すために1つのスクリプトを使用して(ビルド、テスト、パッケージ化、デプロイ)、そして1つのチームシップステップだけを実行すると、たくさんのtryとcatchを追加する必要があります。キャッチ不可能なエラーでは機能しません。
psake
を使用することをお勧めします。 psake
を使用するには、2つのスクリプトが必要です。最初のものはチームシップによって運営されたものです。最初のスクリプトでは、psakeモジュールをインポートし、あなたのためにすべてを行うメインスクリプトを呼び出します。 2番目のスクリプトがどこにも失敗した場合は、スクリプトを停止させます(エージェントにはstoponfailure
powershellポリシーがある場合)。 2番目のスクリプトは停止し、最初のスクリプトに戻ります。しかし、最初のスクリプトは失敗と見なさず、ビルドを成功として表示します。これを克服するには、最初のスクリプトにコードを追加します。
Import-Module .\psake\psake.psm1
Invoke-Psake .\build-steps.ps1 @args
if($psake.build_success -eq $false){
write-host "There was an error running psake script"
exit 1
}
Remove-Module psake
関連する問題
- 1. PowerShellのビルドステップでTeamCityの作業ディレクトリを取得する方法
- 2. TeamCityのビルドステップの一部としてNUnit3が「コード-2で終了したプロセス」をスローする
- 3. 追加のビルドステップを実行せずにビルドを正常に終了するTeamCityにビルドステップがありますか?
- 4. Pythonプログラムの終了コードを取得
- 5. 終了コードを取得する -
- 6. TeamCityビルドステップでgitコマンドを使用する
- 7. TeamCityでビルドをビルドステップとして固定
- 8. teamcityでビルドステップを実行するステータスを取得する方法は?
- 9. TeamCityビルド "コード128でプロセスが終了しました"
- 10. TeamCityビルドステップ - MSBuildで失敗しました
- 11. nsisで他のアプリケーションの終了コードを取得する方法
- 12. TeamCIty 6.5.6 Runner Type = "Command Line"のビルドステップ
- 13. TeamCityエージェントエラー "エージェントでチェックアウトを実行できませんでした。終了コード:128 "
- 14. PowerShellでMSIEXEC終了コードを取得する
- 15. PHPでパイプコマンドの終了ステータスを取得
- 16. bashでプロセスの終了ステータスを取得
- 17. シェルでパイプコマンドの終了ステータスを取得
- 18. PeopleCodeのバッチファイルの終了コードを取得する
- 19. Win32:他のアプリケーションの終了/終了の通知メッセージを取得
- 20. 終了コード10で終了したプログラム
- 21. パイプバックされたバックグラウンドプロセスの終了コードを取得する
- 22. 開始日の終了日と終了日を取得する
- 23. Windows上のアプリケーションの前回の終了コードの取得
- 24. Powershellプロセスの開始、タイムアウトの待機、終了コードの取得
- 25. 終了コードを無視するPowerShellを取得しますか?
- 26. しばらく前に完了したバックグラウンドプロセスの終了コードを取得
- 27. Chisel.TestApplicationException:テストアプリケーションの終了 - 終了コード139
- 28. サービス - 終了コードを取得する方法
- 29. コンソールアプリケーションから終了コードを取得する
- 30. jarから終了コードを取得する問題
-sorry、私のセットを説明している必要があります。コンパイルを行うslnランナー、テストを実行するMSTest Runner、パッケージングを実行するMSBuildを持っています。私が後にしているのは、slnランナーおよび/またはmstestランナーの出力がmsbuildランナーに入ることです。 –
今は明らかです。私は答えを更新しました。それが役に立てば幸い。 – KMoraz