3

JenkinsでPhingビルドスクリプトを使用していますが、ジョブでエンドツーエンドで実行し、すべてのレポートをキャプチャしたいと思います。問題は、失敗したビルドステップでビルドを停止することです。失敗しても仕事を続ける方法やプラグインはありますか?

ありがとう

4

2 に答える 2

1

Phing についてはよくわかりませんが、Ant に基づいているため、実行しているビルド ステップに「failonerror」属性がある場合は、それを false に設定して、ビルド全体が失敗しないようにする必要があります。ステップはエラーを返します。

于 2012-05-02T20:50:25.337 に答える
0

はい、パイプライン スクリプトで 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
于 2017-01-02T09:15:42.630 に答える