2012-05-02 8 views
2

私はJenkinsでPhingビルドスクリプトを使用していますが、これをジョブの終わりから終わりまで実行してすべてのレポートを取得したいと考えています。問題は、失敗したビルドステップでビルドを停止することです。失敗しても仕事を続ける方法やプラグインはありますか?ビルドステップが失敗した場合でもJenkinsビルドを続行するにはどうすればよいですか?

おかげ

+0

参照http://stackoverflow.com/questions/497452/subant-failonerror-subtleties –

答えて

1

あなたが実行しているビルドステップは、「failonerrorは」あなたがそのようfalseに設定することができるはず属性を持っている場合、私は、それはアリに基づいていることから、Phingのについて多くを知っているがありませんステップがエラーを返す場合、ビルド全体は失敗しません。

0

はい、あなたのパイプラインスクリプトで、試す

例catchブロックを使用する:あなたはSHがこれらのテストを実行するためにコマンドを使用する場合、「||であなたのshスクリプトの実行を検討

try { 
    // do some stuff that potentially fails 
} catch (error) { 
    // do stuff if try fails 
} finally { 
    // when you need some clean up to do 
} 

または代わりにtrue "の接尾辞を使用すると、実際のコマンドが終了コードで終了した場合でも、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 
関連する問題