我注意从构建脚本(gradle)使用TC API。我可以从项目属性中读取用户名和密码,但我也必须阅读serverUrl。但我没有找到doc(right there)
中描述的属性teamcity.serverUrl
可能只在我们的构建TC服务器上错过了这个属性吗?
答案 0 :(得分:1)
此参数是配置参数 此类参数可以在Web UI中使用,但不会隐式传递给Gradle build
在您的情况下,在构建步骤配置中使用其他Gradle命令行参数字段并添加以下标志:
-PserverUrl=%teamcity.serverUrl%
这将明确传递该值。您可以像这样访问gradle中的服务器URL:
println("Server url is $project.serverUrl")
<强> UPD 强>
如果无法自定义参数,则可以使用其他方式。系统属性teamcity.configuration.properties.file
包含文件的路径,该文件包含通常属性格式的所有配置参数。所以,在Gradle里面做了类似的事情:
def configFilePath = project["teamcity.configuration.properties.file"]
def props = new Properties();
props.load(new File(configFilePath).newDataInputStream())
def serverUrl = props["teamcity.serverUrl"]