首页 > 解决方案 > Groovy 节点和管道上缺少方法异常

问题描述

我不完全确定这是代码问题还是配置问题,但我对 groovy 很陌生,所以它可能是。我尝试运行一个更复杂的脚本,但它不起作用,所以我尝试运行一个 hello world 脚本,它也产生了同样的问题,所以我不确定它是否与代码相关。

node("agentNode") {
    stages {
      stage('Stage 1') {
        steps {
          echo 'Hello world!' 
        }
      }
    }
  }

所以如果我运行这个脚本,我会得到错误

groovy.lang.MissingMethodException: No signature of method: hudson4198101983862983381.node() is applicable for argument types: (String, hudson4198101983862983381$_run_closure1) values: [agentNode, hudson4198101983862983381$_run_closure1@41005828]
Possible solutions: notify(), wait(), run(), run(), find(), grep()
    at hudson4198101983862983381.run(hudson4198101983862983381.groovy:1)

如果我尝试将它作为管道运行,我会得到相同的错误,但它显示的是 .pipeline() 而不是 .node()。

pipeline {
  agent any 
  stages {
    stage('Stage 1') {
      steps {
        echo 'Hello world!' 
      }
    }
  }
}

我的理解是 Hudson 是构建脚本?我正在使用 Jenkins UI 来编写这个脚本,所以我认为该文件可能会使用该名称自动生成。我正在使用 groovy 3.0.7。任何帮助将不胜感激,任何对进一步信息的要求都有望得到满足。谢谢!

标签: jenkinsgroovycontinuous-integrationjenkins-pipelinejenkins-groovy

解决方案


原来这是我试图运行它的方式。我最终将 Jenkinsfile 上传到我的仓库并从那里运行它而没有问题


推荐阅读