输入是指令还是步骤

时间:2019-03-14 11:48:47

标签: jenkins jenkins-pipeline jenkins-declarative-pipeline

  

舞台上的input指令允许您使用以下命令提示输入   输入步骤。 ..

(引用管道语法,Jenkins用户文档https://jenkins.io/doc/book/pipeline/syntax/#input

input实际上是指令还是步骤?如何理解短语“使用 输入步骤”

此处使用的管道(提取):

stage('StageName') {
    when { environment name: 'VAR1', value: 'true' }
    steps {
        input {
            message: "press OK to continue"
        }
        dir('doithere') {
            git url: gitcoord[0], branch: gitcoord[1], credentialsId: gitcoord[2] 
            cmd('ls -alh') 
        }
    }
}

运行时:

WorkflowScript: 336: Expected a step @ line 336, column 34.
                       message: "press OK to continue"
                                ^

2 个答案:

答案 0 :(得分:1)

在声明性管道中,必须将其直接置于stage级别(“伪指令”)之下。然后它的格式为input { .. }

在脚本化管道(或声明性管道中的script块)中,它作为常规步骤存在。语法为input(..)

stage('StageName') {
    when { environment name: 'VAR1', value: 'true' }
    steps {
        dir('doithere') {
            git url: gitcoord[0], branch: gitcoord[1], credentialsId: gitcoord[2] 
            cmd('ls -alh') 
            input(message: "press OK to continue")
            cmd('rm -rf *')
        }
    }
}

答案 1 :(得分:0)

以下一个为我工作:

pipeline {
    agent any
    stages {
        stage('stage1') {
            input {
                message "press OK to continue"
            }
            steps {
                sh "mkdir dir1"
                dir("dir1") {
                    sh "echo 'Hello'"
                }
            }
        }
    }
}