使用Gradle构建脚本

时间:2017-10-11 02:22:31

标签: gradle teamcity build.gradle gradle-task gradle-git

我有一个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)

如果您需要更多详细信息,请与我们联系

2 个答案:

答案 0 :(得分:3)

尝试用

替换echo命令
println "##teamcity[buildNumber '${version}']"

Confluence上还有一份文档page

答案 1 :(得分:-1)

从TeamCity Professional 2017.2(版本50574)原始版本

开始
println "##teamcity[setParameter name='buildNumber' value='${x}']"

再次运作。