Jenkins脚本化管道

时间:2019-04-25 21:05:44

标签: jenkins-pipeline

编写一个简单的Jenkins脚本化管道。 它应该有2个参数(一个复选框,一个文本框)。 在管道中包含2个阶段,则根据复选框是否选中来调用第一阶段。

1 个答案:

答案 0 :(得分:0)

我认为有针对性的问题会带来更多好处。但是要直接回答您的请求:

#!groovy

properties([
    buildDiscarder(logRotator(numToKeepStr: '20')),
    parameters([
        booleanParam(name: 'CHECKBOX', defaultValue: true, description: 'Tick a checkbox'),
        string(name: 'STRING', defaultValue: 'stringhere', description: 'Enter a string'),
    ])
])

node {
    try {
        if (params.CHECKBOX) {
            stage('Stage 1') {
                //do something conditionally
                echo("${params.CHECKBOX}")
            }
        }
        stage('Stage 2') {
            // do someting else always
            echo(params.STRING)
        }
    }
    catch (err) {
        // catch an error and do something else
        throw err
    }
    finally {
        // Finish with final mandatory tasks regardless of success/failure
        deleteDir()
    }
}

这始于Jenkins管道参数语法:https://jenkins.io/doc/book/pipeline/syntax/#parameters 并使用一些基本的管道步骤:https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/,例如echoshell 散布有标准的常规条件逻辑。