JenkinsでPhingビルドスクリプトを使用していますが、ジョブでエンドツーエンドで実行し、すべてのレポートをキャプチャしたいと思います。問題は、失敗したビルドステップでビルドを停止することです。失敗しても仕事を続ける方法やプラグインはありますか?
ありがとう
JenkinsでPhingビルドスクリプトを使用していますが、ジョブでエンドツーエンドで実行し、すべてのレポートをキャプチャしたいと思います。問題は、失敗したビルドステップでビルドを停止することです。失敗しても仕事を続ける方法やプラグインはありますか?
ありがとう
Phing についてはよくわかりませんが、Ant に基づいているため、実行しているビルド ステップに「failonerror」属性がある場合は、それを false に設定して、ビルド全体が失敗しないようにする必要があります。ステップはエラーを返します。
はい、パイプライン スクリプトで try, catch ブロックを使用します
例:
try {
// do some stuff that potentially fails
} catch (error) {
// do stuff if try fails
} finally {
// when you need some clean up to do
}
または、これらのテストを実行するために sh コマンドを使用する場合は、"|| true" サフィックスを付けて sh スクリプトを実行することを検討してください。これにより、実際のコマンドが終了して終了した場合でも、Linux sh スクリプトは結果コード 0 で終了するように指示されます。コード。
例:
stage('Test') {
def testScript = ""
def testProjects = findFiles(glob: 'test/**/project.json')
if (!fileExists('reports/xml')) {
if (!fileExists('reports')) {
sh "mkdir reports"
}
sh "mkdir reports/xml"
}
for(prj in testProjects) {
println "Test project located, running tests: " + prj.path
def matcher = prj.path =~ 'test\\/(.+)\\/project.json'
testScript += "dotnet test --no-build '${prj.path}' -xml 'reports/xml/${matcher[0][1]}.Results.xml' || true\n"
}
sh testScript