我有一个gradle构建脚本,如下所示:
buildscript {
repositories {
//Some repo
}
dependencies {
classpath "com.palantir.gradle.gitversion:gradle-git-version:0.8.0"
}
}
}
apply plugin: 'com.palantir.git-version'
version gitVersion()
我想从build number
函数更新TeamCity version
,其值为gitVersion()
。反正有吗?
我知道在Maven世界中,为了让TeamCity获取pom.xml
文件中的版本,我可以指定TeamCity内部版本号等于%maven.project.version%
。但是如何用Gradle实现同样的目标?
尝试:
另外,我想到了一个创建Gradle Exec任务的解决方案,通过服务消息(doc here)来更新TeamCity内部版本号:
task updateTeamCityBuildNumber(type: Exec) {
x=version
echo $x
echo "##teamcity[setParameter name='buildNumber' value='${x}']"
}
但是我收到了这个错误:
Could not set unknown property 'x' for task ':updateTeamCityBuildNumber' of type org.gradle.api.tasks.Exec
关于这个方向的另一个问题是如何将变量version
传递给Gradle Exec任务并在" echo"中引用它。声明如下?
(我的TeamCity构建代理是Linux)
如果您需要更多详细信息,请与我们联系
答案 0 :(得分:3)
答案 1 :(得分:-1)
从TeamCity Professional 2017.2(版本50574)原始版本
开始println "##teamcity[setParameter name='buildNumber' value='${x}']"
再次运作。