我有一些用 Postman 制作的集合,并希望在 Jenkins 環境的同一階段使用 Newman 執行它們。
我的 Jennkinsfile 如下所示:
sh 'newman run /xxx/collection1.json'
sh 'newman run /xxx/collection2.json'
sh 'newman run /xxx/collection3.json'
但是,如果第一個集合中的任何一個測驗失敗,shell 會以 1 退出,因此集合 2 和 3 都不會運行。
我嘗試 || true在每個 shell 執行結束時添加,但這使得結果退出代碼始終為 0,因此即使某些測驗失敗,我也無法從儀表板中看到錯誤。
sh 'newman run /xxx/collection1.json || true'
sh 'newman run /xxx/collection2.json || true'
sh 'newman run /xxx/collection3.json || true'
有什么方法可以在讓所有的 shell 運行的同時知道最終的測驗結果嗎?
uj5u.com熱心網友回復:
我想到的唯一方法是將測驗階段包裝在一個parallel塊內運行的某些子階段中。以下方法應該有效:
pipeline {
agent any
options {
buildDiscarder logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', numToKeepStr: '5')
}
stages {
stage('First') {
steps {
sh 'echo "This stage is going to run very first"'
}
}
stage('Hello') {
failFast false
parallel {
stage('one') {
steps {
sh 'echo one; exit 1'
}
}
stage('two') {
steps {
sh 'echo two'
}
}
stage('three') {
steps {
sh 'echo three'
}
}
}
}
}
}
“第一”階段應該首先運行,其他 3 個階段將并行運行,“第二”和“第三”階段運行成功,但“第一”階段失敗。整個構建被標記為失敗,但階段“二”和“三”在儀表板中被標記為綠色。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/434804.html
上一篇:想要在bash中使用多級引數型別在Jenkins中使用擴展選擇引數中的選定值
下一篇:下載特定的ubuntu包檔案
