Вы вводите в заблуждение и смешиваете Scripted Pipeline
и Declarative Pipeline
, для полной разницы see here. Но короткая история:
- декларативные трубопроводы новое расширение DSL трубопровода (это в основном сценарий трубопровода только один шаг, шаг трубопровода с аргументами (так называемых директивами), эти директивы должны следовать конкретный синтаксис. Суть этого нового формата является то, что он является более строгим, и для этого должно быть проще для новичков трубопроводов, позволяет для графического редактирования и многий другой.
- заскриптованных трубопроводы является запасным вариантом для продвинутых требований.
Итак, если мы посмотрим на ваш скрипт, вы сначала откроете шаг node
, который находится из сценариев, то вы используете stages
, который является одной из директив этапа pipeline
, определенного в declarative pipeline
. Таким образом, вы можете, например, пишут:
pipeline {
...
stages {
stage('HelloWorld') {
steps {
echo 'Hello World'
}
}
stage('git clone') {
steps {
git clone "ssh://[email protected]/myrepo.git"
}
}
}
}
Итак, если вы wan't использовать declarative pipeline
, что это путь.
Если вы wan't в scripted pipeline
, то вы пишете:
node {
stage('HelloWorld') {
echo 'Hello World'
}
stage('git clone') {
git clone "ssh://[email protected]/myrepo.git"
}
}
т.д .: пропустить этапы блок.
Моя проблема была только обратной. Я получал сообщение об ошибке «Нет такого метода DSL-метода». –