我有一个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
这是我的工作设置
我基本上不希望在boolean参数为true时运行execute shell作业
答案 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)