Jenkins Pipeline期望变量和;环

Jenkins Pipeline期望变量和;环,jenkins,jenkins-pipeline,jenkins-groovy,Jenkins,Jenkins Pipeline,Jenkins Groovy,在获得工作状态时需要帮助 我尝试了下面的代码,但它正在抛出 WorkflowScript:9:第9行第1列应为步骤。def Status=生成作业:“作业回归” 示例脚本: Pipeline{ agent stages { stage('Stg1') { steps{ Script{ def Status = build job: 'Job Regression' int build1=0 while(build1==0){ def BStatus = build job: 'Jo

在获得工作状态时需要帮助

我尝试了下面的代码,但它正在抛出

WorkflowScript:9:第9行第1列应为步骤。def Status=生成作业:“作业回归”

示例脚本:

Pipeline{
agent
stages {

stage('Stg1') {

steps{

Script{

def Status = build job: 'Job Regression'

int build1=0

while(build1==0){

def BStatus = build job: 'JobB', propagate: false

if(BStatus == 'Success'){

build1=0

}```

Thanks in Advance
这里有几件事

  • 也许它在格式化过程中丢失了,但是请正确地缩进你的代码——这将在将来对你和其他人有巨大的帮助
  • Jenkins DSL语法几乎总是使用camelCase,并且您没有正确地命名某些东西。因此,您的管道将无法正确解析您在此处输入的管道。
  • 管道
    必须是
    管道
  • Script
    必须是
    Script
  • 代理
    声明式需要一个参数<代码>代理任何在大多数情况下都有效,或者您可以指定标签或类型,例如
    代理{label'Windows'}
  • 也可能是格式错误,但必须关闭大括号
  • 当我修复这些小问题时,它看起来是这样的,并使用VSCode Jenkins验证器通过了验证:

    pipeline{
      agent any
      stages {
        stage('Stg1') {
          steps{
            script{
              def Status = build job: 'Job Regression'
              int build1=0
              while(build1==0){
                def BStatus = build job: 'JobB', propagate: false
                if(BStatus == 'Success'){
                  build1=0
                }
              }
            }
          }
        }
      }
    }
    
    如果不了解您编写代码所针对的问题的更多信息,就很难说您的实际脚本是否是一个好的解决方案。你到底想干什么?表面上看,它似乎可以永远持续下去?您可能需要在其上设置一个超时

    一个开始考虑你的选择的好地方是——整本“书”都值得一读