使用NOT的jenkins条件步骤

时间:2017-09-19 15:17:22

标签: jenkins

我有一个jenkins工作,需要在某些条件下运行特定的构建任务。

我已经设置了一个名为' skipBuild'的布尔参数。默认为false。

然后我使用NOT设置条件参数,如果布尔参数为false,则需要仅执行步骤。但即使使参数为true,构建步骤仍然会运行。

 [Boolean condition] checking [{ENV,var="skipBuild"}] against [^(1|y|yes|t|true|on|run)$] (origin token: {ENV,var="skipBuild"})
 Run condition [Not] enabling perform for step [Execute shell]
 ...... my command here -DskipBuild=true

这是我的工作设置

enter image description here

我基本上不希望在boolean参数为true时运行execute shell作业

4 个答案:

答案 0 :(得分:1)

我发现布尔条件令人困惑并切换到正则表达式。它们易于使用。尝试正则表达式匹配,标签是{ENV.var =“skipBuild”}和表达式^ false $。仅当您的变量为false时,才应运行shell作业。

答案 1 :(得分:0)

我不知道您使用的是这种语法,但我想该令牌应为${ENV,var="skipBuild"}${skipBuild}

答案 2 :(得分:0)

如果你想要否定某个条件,正则表达式确实是最好的选择,即使它不是布尔变量。 例如:

您有一个名为DRUPAL_ENVIRONMENT的构建选择参数(字符串)。 共有8种选择,其中1种等于"所有"。 假设您需要2个条件构建步骤,具体取决于DRUPAL_ENVIRONMENT等于" all"或不等于"所有",这是如何做到的: 等于"所有" :

Expression = ^all$    
Label = ${ENV,var="DRUPAL_ENVIRONMENT"}

不等于"所有" :

Expression = ^((?!all).)*$
Label = ${ENV,var="DRUPAL_ENVIRONMENT"}

答案 3 :(得分:0)

工作正常 如屏幕截图所述:

enter image description here

enter image description here