使用 Gradle 构建脚本中的版本更新 TeamCity 构建号
Update TeamCity Build Number with version in Gradle build script
我有一个 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()
我想用 gitVersion()
函数中 version
的值更新 TeamCity build number
。有办法吗?
我知道在 Maven 世界中,为了让 TeamCity 获取 pom.xml
文件中的版本,我可以将 TeamCity 内部版本号指定为 %maven.project.version%
。但是如何用 Gradle 实现同样的事情呢?
一次尝试:
此外,我想到了一个创建 Gradle Exec 任务的解决方案,通过 Service Message(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)
谢谢,如果您需要更多详细信息,请告诉我
尝试将 echo
命令替换为
println "##teamcity[buildNumber '${version}']"
还有关于 Confluence 的文档 page。
截至 TeamCity Professional 2017.2(内部版本 50574)原始变体
println "##teamcity[setParameter name='buildNumber' value='${x}']"
又开始工作了。
我有一个 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()
我想用 gitVersion()
函数中 version
的值更新 TeamCity build number
。有办法吗?
我知道在 Maven 世界中,为了让 TeamCity 获取 pom.xml
文件中的版本,我可以将 TeamCity 内部版本号指定为 %maven.project.version%
。但是如何用 Gradle 实现同样的事情呢?
一次尝试:
此外,我想到了一个创建 Gradle Exec 任务的解决方案,通过 Service Message(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)
谢谢,如果您需要更多详细信息,请告诉我
尝试将 echo
命令替换为
println "##teamcity[buildNumber '${version}']"
还有关于 Confluence 的文档 page。
截至 TeamCity Professional 2017.2(内部版本 50574)原始变体
println "##teamcity[setParameter name='buildNumber' value='${x}']"
又开始工作了。