2012-05-02 3 views
2

Jenkins에서 Phing 빌드 스크립트를 사용하고 있으며 작업을 끝내고 모든 보고서를 캡처하고 싶습니다. 문제는 실패한 빌드 단계에서 빌드를 중단한다는 것입니다. 실패시에도 작업을 계속할 수있는 방법이나 플러그인이 있습니까?빌드 단계가 실패하더라도 Jenkins 빌드를 계속하는 방법은 무엇입니까?

감사

+0

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

답변

1

가 개미 기반으로하기 때문에 당신이 실행중인 빌드 단계가있는 경우 나, Phing에 대해 많이 알고 있지만하지 않는 "failonerror"false로 설정할 수 있어야 속성 있도록 단계에서 오류가 반환되면 전체 빌드가 실패하지 않습니다.

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

또는 대안이 쉬 테스트를 실행하는 명령을 사용하는 경우, "||로 쉬 스크립트를 실행 해보십시오 :

0

예, 사용

예를 들어 당신이 파이프 라인 스크립트에서, catch 블록을 시도 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 
관련 문제