Исключение отсутствующего метода на узле и трубопроводе Groovy

#jenkins #groovy #continuous-integration #jenkins-pipeline #jenkins-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!' 
      }
    }
  }
}
 

Насколько я понимаю, Хадсон-это сценарий сборки? Я использую пользовательский интерфейс Дженкинса для написания этого сценария, поэтому я думаю, что файл может быть автоматически сгенерирован с этим именем. Я использую groovy 3.0.7. Буду очень признателен за любую помощь, и, надеюсь, любые запросы о дополнительной информации будут выполнены. Спасибо!

Комментарии:

1. Это похоже на проблему с установкой плагина Jenkins Pipeline.

Ответ №1:

Оказывается, все дело было в том, как я пытался им управлять. В итоге я загрузил файл Дженкинса в свой репозиторий и просто запустил его оттуда без проблем