我的管道看起来像这样......
@Library('sharedLib')_
pipeline {
agent any
stages {
stage('Init') {
steps {
//code
}
}
stage('checklist') {
parallel {
stage('sonar Linters') {
steps {
script{
//code
}
}
}
stage('validate merge request') {
steps {
//code
}
}
}
}
stage('Build') {
steps {
script {
//code
}
}
}
stage("Automation Test") {
parallel {
stage('Unit Test') {
stages {
stage ('JUnit') {
steps {
script {
//code
}
}
}
stage ('Mutation Coverage Report') {
options {
timeout(time: 30, unit: 'MINUTES')
retry(2)
}
steps {
script {
//code
}
}
}
} }
stage ("Impact Analysis Report") {
options {
timeout(time: 60, unit: 'MINUTES')
}
steps {
script {
//code
}
}
}
}
}
}
}
在这里,我使用共享库来存储阶段明智的执行文件。当“build”阶段失败时,“junit”阶段状态在 /wfapi/describe jenkins API 中设置为“Aborted”。 junit 阶段有一个包含要执行的 try catch 块的文件。这是导致此问题的原因还是这是詹金斯问题?我该如何解决这个问题。
检查“try-catch”块以确保在“junit”阶段正确完成错误处理和报告。确保检测到并正确记录任何异常。
防止错误影响:验证“构建”阶段所犯的错误不会对后续阶段(尤其是“junit”)产生影响。维持管道的预期流量可能取决于此。
应用条件执行:使用when指令根据“build”阶段的结果有条件地执行“junit”步骤。这有助于管理执行流程。
更新 Jenkins:确保您使用的是最新版本的 Jenkins。更新中经常包含可能解决意外行为的错误修复和增强功能。