iGE*_*GEL 5 jenkins jenkins-pipeline
当基于浏览器的测试失败时,我们将截取浏览器窗口的屏幕截图以更好地说明问题。但是,我不知道如何将它们归档到我的管道中,因为管道在失败后会停止。与相同junit.xml,我也想在错误的情况下使用它。
我已经检查过,屏幕截图已正确生成并存储。
我的定义看起来像这样(无关紧要的东西大都被修剪了):
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/*'
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用简单的 Javatry/catch来避免测试失败时的管道失败,或者使用 Jenkins catchError,如下所示:
node {
catchError {
// Tests that might fail...
}
// Archive your tests artifacts
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7483 次 |
| 最近记录: |