TeamCity 无法获取 BitBucket 标签
TeamCity is not able to get BitBucket tag
我有一个 build.gradle 脚本:
buildscript {
repositories {
//some repo
dependencies {
classpath "com.palantir.gradle.gitversion:gradle-git-version:0.8.0"
}
}
}
apply plugin: 'com.palantir.git-version'
version contructSemVer()
def contructSemVer() {
try {
def details = versionDetails()
def semVer = details.lastTag + "-" + details.branchName + "." + details.gitHash
}
catch (ignored) {
return null;
}
}
根据 gradle-git-version
插件文档 here,我为版本构建了一个 semVer
字符串。然后我在分支 test-gradle 上用 0.1.0 标记了我的 BitBucket。
在我的 IntelliJ 上本地调用 gradle properties | findstr version
后,我得到了正确的输出:version: 0.1.0-test-gradle.52cb23e4a0
但是,在TeamCity上运行同样的东西时,semVer
的第一部分(details.lastTag
)不见了,我得到的版本是-test-gradle.52cb23e4a0
好像TeamCity 无法获取 BitBucket 标签,但可以获取分支名称和最新提交 SHA。
TeamCity 中是否有我遗漏的任何设置?谢谢,如果您需要更多详细信息,请告诉我
在尝试不同的 TeamCity 设置后,我尝试了另一种方法来获取最新的 Git 标签
def contructSemVer() {
try {
def details = versionDetails()
def semVer = getVersionFromTag() + "-" + details.branchName + "." + details.gitHash
}
catch (ignored) {
return null;
}
}
def getVersionFromTag() {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'describe', '--abbrev=0'
standardOutput = stdout
}
return stdout.toString().trim()
}
所以我没有使用 details.lastTag
,而是使用我自己的方法来检索它。它现在在 TeamCity 构建中正确显示。
还要感谢@Vampire 对许多 TeamCity 设置进行了大量阐述
我有一个 build.gradle 脚本:
buildscript {
repositories {
//some repo
dependencies {
classpath "com.palantir.gradle.gitversion:gradle-git-version:0.8.0"
}
}
}
apply plugin: 'com.palantir.git-version'
version contructSemVer()
def contructSemVer() {
try {
def details = versionDetails()
def semVer = details.lastTag + "-" + details.branchName + "." + details.gitHash
}
catch (ignored) {
return null;
}
}
根据 gradle-git-version
插件文档 here,我为版本构建了一个 semVer
字符串。然后我在分支 test-gradle 上用 0.1.0 标记了我的 BitBucket。
在我的 IntelliJ 上本地调用 gradle properties | findstr version
后,我得到了正确的输出:version: 0.1.0-test-gradle.52cb23e4a0
但是,在TeamCity上运行同样的东西时,semVer
的第一部分(details.lastTag
)不见了,我得到的版本是-test-gradle.52cb23e4a0
好像TeamCity 无法获取 BitBucket 标签,但可以获取分支名称和最新提交 SHA。
TeamCity 中是否有我遗漏的任何设置?谢谢,如果您需要更多详细信息,请告诉我
在尝试不同的 TeamCity 设置后,我尝试了另一种方法来获取最新的 Git 标签
def contructSemVer() {
try {
def details = versionDetails()
def semVer = getVersionFromTag() + "-" + details.branchName + "." + details.gitHash
}
catch (ignored) {
return null;
}
}
def getVersionFromTag() {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'describe', '--abbrev=0'
standardOutput = stdout
}
return stdout.toString().trim()
}
所以我没有使用 details.lastTag
,而是使用我自己的方法来检索它。它现在在 TeamCity 构建中正确显示。
还要感谢@Vampire 对许多 TeamCity 设置进行了大量阐述