Jenkins:当里程碑中止管道时更改构建状态

时间:2018-01-26 10:41:01

标签: jenkins continuous-integration

当Jenkins构建被 里程碑() 命令中止时,我希望构建状态为成功

目前我们有3个阶段需要将应用程序部署到:INT,PRE,PROD。我们的CI流程如下:

构建 - >测试 - >构建Docker - >部署到INT - > 批准PRE - >部署到PRE - > 批准PROD - >部署到PROD

PRE和PROD的批准步骤如下:

/************** PRE **************/
stage('Approval for PRE') {
    try {
        timeout(time: approvalTime, unit: approvalTimeUnit) {
            input 'Do you approve the deployment to PRE?'
        }
    } catch (Exception ex) {
        finishBuild = true

        // return statement just ends stage
        // => pipeline continues after stage
        // => return must be called again outside stage or node again
        return
    }
}

// Stop build if flag was set
if (finishBuild)
    return

// MILESTONE stops build with status = "NOT_BUILT"
milestone()

我已经尝试将milestone()命令放在try& catch块中,但是没有用完。还有其他解决方案吗?

强度的探讨

目前我们没有将所有内容部署到PROD,大部分时间都会忽略审批,我们会继续使用INT。随着项目的成熟,这可能会改变。

但是,如果我们不时继续所有以前的版本都会以灰色状态结束,这对我的队友来说很困惑:没有出错,所有测试都是绿色的,没有人中止但是构建是不再是绿色。

0 个答案:

没有答案