Jenkins conditionalstep groovy脚本

Jenkins conditionalstep groovy脚本,jenkins,groovy,conditional,dsl,Jenkins,Groovy,Conditional,Dsl,我尝试使用这个条件多步骤插件并为DSL编写了grrovy脚本,但是当我使用此代码引导时,列出的步骤在条件块之前,我在这里做错了什么 参考: 代码: 所以创建的jenkins作业显示为 npm install mkdir buildArchive Conditional step 而不是 Conditional step { npm install mkdir buildArchive } 我在这里做错了什么?使用步骤配置生成作业时 作业('foobar'){ 台阶{ 条件步骤{

我尝试使用这个条件多步骤插件并为DSL编写了grrovy脚本,但是当我使用此代码引导时,列出的步骤在条件块之前,我在这里做错了什么

参考:

代码:

所以创建的jenkins作业显示为

npm install
mkdir buildArchive

Conditional step
而不是

Conditional step
{
   npm install
   mkdir buildArchive
}

我在这里做错了什么?

使用步骤配置生成作业时

作业('foobar'){ 台阶{ 条件步骤{ 状况{ stringsMatch('${BUILD_REQUIRED}',true',false) } 跑步者(“失败”) 台阶{ 环境变量{ 环境(FOO:'bar',TEST:'123') } 批处理文件('调用npm安装') 批处理文件('调用mkdir buildArchive') } } } } 结果似乎不错:

根据我的经验,当您对作业DSL语法及其结果有任何问题时,一个好方法是区分作业的config.xml:

  • 根据需要手动配置作业,并保存config.xml
  • 在本地生成作业并保存config.xml
  • 区分这两个配置文件,并查看确切的XML标记顺序
  • 然后反复尝试,看看在更改作业DSL脚本时发生了什么

当我在没有groovy经验的情况下开始使用作业DSL时(尤其是闭包;)-当我试图将作业配置块提取到像您案例中那样的方法中时,我遇到了很多类似的问题。这有助于我了解实际情况。

什么是“……所列步骤在条件块之前……”意思?@tim_yates更新了上述描述。我看到的是条件步骤外部的命令,而不是其中的命令。
Conditional step
{
   npm install
   mkdir buildArchive
}