如何检测Gradle构建是否运行在TeamCity环境中
检测Gradle构建是否运行在TeamCity环境的方法
TeamCity构建代理在启动构建任务时,会自动注入专属的环境变量TEAMCITY_VERSION,本地开发环境不会默认存在该变量,因此只要检测该环境变量是否存在即可完成判断,准确率极高。
代码实现示例
Groovy DSL(适用于build.gradle)
// 定义环境判断变量 def isRunningOnTeamCity = System.getenv("TEAMCITY_VERSION") != null
Kotlin DSL(适用于build.gradle.kts)
// 定义环境判断变量 val isRunningOnTeamCity = System.getenv("TEAMCITY_VERSION") != null
使用示例
你可以在判断条件内编写仅在TeamCity环境执行的逻辑,比如输出专属服务消息:
if (isRunningOnTeamCity) { // 仅在TeamCity运行时生效的服务消息逻辑 println "##teamcity[importData type='junit' path='build/test-results/test/*.xml']" }
注意:如果本地环境手动配置了
TEAMCITY_VERSION环境变量会导致判断误触发,常规开发场景下不会出现该情况。
内容的提问来源于stack exchange,提问作者andrybak
相关产品推荐
相关产品推荐

