【问题标题】:Jenkins does not accept variable declarationJenkins 不接受变量声明
【发布时间】:2021-09-29 21:01:09
【问题描述】:

我正在尝试从 Jenkins 启动一个 docker 映像。 (Not getting Docker to run from within Jenkins) 我想我真的很接近,但这部分仍然存在一些问题。 可以请任何人帮忙吗?

    stage('build Dockerimage 1') {
      steps{
        apitestimage = docker.build('apitestimage', '--no-cache=true dockerbuild')
      }
    }

    stage('start Dockerimage and Tests 2') {
      steps{
        apitestimage.inside {
          sh 'cd testing && ctest'           
        }
      }
    }

詹金斯报告: WorkflowScript: 21: 预计第 21 行第 15 列的步骤。 apitestimage = docker.build('apitestimage', '--no-cache=true dockerbuild')

还有

WorkflowScript:27:不允许在“脚本”块之外对对象进行方法调用。 @ 第 27 行,第 13 列。apitestimage.inside {

【问题讨论】:

    标签: docker jenkins


    【解决方案1】:

    根据您的错误,它表明您在步骤中缺少script 块。在 steps 中使用 DSL 时需要一个脚本块。

    stage('build Dockerimage 1') {
      steps{
        script {
          def apitestimage = docker.build('apitestimage', '--no-cache=true dockerbuild')
        }
      }
    }
    
    stage('start Dockerimage and Tests 2') {
      steps{
        script {
          apitestimage.inside {
            sh 'cd testing && ctest'
          }           
        }
      }
    }
    

    参考资料:

    【讨论】:

      【解决方案2】:

      就我而言,我确实使用stages 名称声明了一个变量:def stages = [buildStage]

      将此变量名称更改为另一个名称解决了我的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-21
        • 2018-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-29
        • 1970-01-01
        • 2021-04-26
        相关资源
        最近更新 更多