gpt4 book ai didi

gradle - TeamCity无法获取BitBucket标签

转载 作者:行者123 更新时间:2023-12-03 04:25:54 25 4
gpt4 key购买 nike

我有一个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字符串。然后,我在分支 测试等级上用 0.1.0 标记了我的BitBucket。

在我的IntelliJ上本地调用 gradle properties | findstr version后,我得到了正确的输出: version: 0.1.0-test-gradle.52cb23e4a0
但是,当在TeamCity上运行相同的东西时,缺少 details.lastTag的第一部分( semVer),我得到的版本是 -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设置中减少了很多灯光

关于gradle - TeamCity无法获取BitBucket标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46684375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com