2017-10-11 64 views
0

更新TeamCity的版本號我有如下一個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() 

我想用versiongitVersion()函數值來更新的TeamCity build number。無論如何要這樣做?

我知道在Maven的世界裏,爲了TeamCity拿起pom.xml文件的版本,我可以指定TeamCity的內部版本號爲%maven.project.version%。但是如何用Gradle實現同樣的功能?

嘗試:

另外,我想到了一個解決方案來創建一個搖籃Exec的任務通過服務消息更新TeamCity的版本號(DOC here)的:

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)的

感謝,讓我知道,如果你需要更多的細節

回答

3

嘗試更換echo命令

println "##teamcity[buildNumber '${version}']" 

還有上合流一個文檔page

+0

不錯,它現在可以工作!謝謝:) – hydradon

+0

'任務updateTeamCityBuildNumber { \t的println 「##的TeamCity [buildNumber '$ {}版']」 }' 這是工作的基礎上,@grundic答案 – hydradon

-1

由於TeamCity的專業2017.2(內部版本50574)原變種

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

重新工作。

+0

@K.Dᴀᴠɪs爲什麼說最終代碼它不會回答這個問題?請仔細閱讀。 – Lundin