我正在尝试为詹金斯创建我的第一个Groovy脚本:
在这里查看https://jenkins.io/doc/book/pipeline/之后,我创建了这个:
node { stages { stage('HelloWorld') { echo 'Hello World' } stage('git clone') { git clone "ssh://git@mywebsite.com/myrepo.git" } } }
但是,我得到:
java.lang.NoSuchMethodError: No such DSL method "stages" found among steps
我想念什么?
另外,如何在不以纯文本形式编写密码的情况下将我的凭据传递到Git存储库?
你感到困惑和混合Scripted Pipeline使用Declarative Pipeline,完全的差异在这里看到。但简短的故事:
Scripted Pipeline
Declarative Pipeline
因此,如果我们查看您的脚本,则首先打开一个node步骤,该步骤来自脚本化管道。然后使用stages,它是中pipeline定义的步骤的指令之一declarative pipeline。因此,您可以例如编写:
node
stages
pipeline
declarative pipeline
pipeline { ... stages { stage('HelloWorld') { steps { echo 'Hello World' } } stage('git clone') { steps { git clone "ssh://git@mywebsite.com/myrepo.git" } } } }
因此,如果您想使用declarative pipeline它,那是必经之路。
如果要scripted pipeline,那么您可以编写:
scripted pipeline
node { stage('HelloWorld') { echo 'Hello World' } stage('git clone') { git clone "ssh://git@mywebsite.com/myrepo.git" } }
例如:跳过阶段块。