需求条件
这个页面解释了在 代理要求 或 构建步骤执行要求 中所使用的条件。
条件 | 描述和示例 |
---|
存在 | 如果指定的属性存在,则返回 true 。 例如: exists("DotNetCLI_Path")
|
不存在 | 如果指定的属性不存在,则返回 true 。 例如: doesNotExist("env.TEAMCITY_GIT_PATH")
|
等于 | 如果指定的属性存在并等于给定的值,返回 true 。 您可以将 Value 字段留空,以检查指定的属性是否存在但为空。 例如: equals("docker.server.osType", "Linux")
|
不等于 | 如果指定属性的值与给定值不同,或者该属性不存在,返回 true 。 您可以将 Value 字段留空,以检查指定的属性是否存在且不为空(有值)。 例如: doesNotEqual("system.teamcity.buildType.id", "Tests")
|
不超过 | 如果目标数值属性满足相应条件,返回 true 。 例如: moreThan("build.number", "256")
lessThan("teamcity.agent.hardware.cpuCount", "10")
|
超过 |
小于 |
不小于 |
版本超过了 | 将软件版本与给定值进行比较。 支持多种值格式,包括点( . )分隔符、前置零、常见后缀如 beta 或 EAP 。 如果版本号包含字母字符,它们也会被比较,例如, 1.1e < 1.1g 。 例如: moreThanVer("maven", "3.0")
|
版本不超过 |
版本低于 |
版本不低于 |
包含 | 如果指定属性的值包含给定值,返回 true 。 例如: contains("teamcity.serverUrl", "localhost")
|
不包含 | 如果指定属性的值不包含给定值,或者此属性不存在,则返回 true 。 例如: doesNotContain("system.agent.name", "_local")
|
以...开始 | 如果指定属性的值以给定值开始(结束),则返回 true 。 例如: startsWith("teamcity.agent.jvm.os.name", "Mac")
endsWith("teamcity.agent.work.dir", "/work")
|
以...结束 |
匹配 | 如果指定的属性与给定的 正则表达式 模式匹配(不匹配),则返回 true 。 例如,使用 matches("CUSTOM_PARAMETER", ".*(,|^)foo(,|$).*") 来匹配所有的 foo 、 foo,bar 、 bar,foo 和 bar,foo,xxx 出现的地方。 |
不匹配 |
结合条件
当定义了多个要求时,它们会被隐式地通过布尔值 AND 连接起来。 例如,以下一组条件要求同时存在 env.JDK_17_0
参数和 env.JDK_21_0
参数:
requirements {
exists("env.JDK_17_0")
exists("env.JDK_21_0")
}
目前没有可用的机制来用布尔 OR 将需求连接起来。
最后修改日期: 16日 7月 2024年