2016-09-16 2 views
4

브라우저 기반 테스트가 실패하면 브라우저 창 캡쳐 화면을 통해 문제를보다 자세히 설명합니다. 그러나 파이프 라인이 실패 이후 중단되기 때문에이를 내 파이프 라인에 보관하는 방법을 알지 못합니다. junit.xml과 동일하게 오류가있는 경우에도 사용하고 싶습니다.Jenkins Pipeline : 빌드가 실패 할 때 아티팩트를 보관하는 방법은 무엇입니까?

스크린 샷을 생성하고 저장했는지 확인했습니다.

내 정의 (관련이없는 것들이 대부분 손질) 다음과 같습니다

node { 
    stage('Build docker container') { 
     checkout([$class: 'GitSCM', ...]) 
     sh "docker build -t webapp ." 
    } 
    stage('test build') { 
     sh "mkdir -p rspec screenshots" 
     sh "docker run -v /var/jenkins_home/workspace/webapp/rspec/junit.xml:/myapp/junit.xml -v /var/jenkins_home/workspace/webapp/screenshots:/myapp/tmp/capybara -v webapp bundle exec rspec" 
    } 
    stage('Results') { 
     junit 'rspec/junit*.xml' 
     archive 'screenshots/*' 
    } 
} 

답변

2

당신은이 같은 파이프 라인 테스트 실패에 실패, 또는 ​​젠킨스 catchError 피하기 위해 간단한 자바 try/catch를 사용할 수 있습니다

node { 
    catchError { 
     // Tests that might fail... 
    } 
    // Archive your tests artifacts 
} 
1

here에서 파이프 라인의 게시 섹션을 사용할 수 있습니다.

pipeline { 
    agent any 
    stages { 
     stage('Build') { 
      ... 
     } 
     stage('Test') { 
      ... 
     } 
    } 

    post { 
     always { 
      archive 'build/libs/**/*.jar' 
     } 
    } 
} 
관련 문제