gpt4 book ai didi

powershell - 如何在 Teamcity 中设置内部版本号?

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

我正在尝试使用 Powershell 在 Teamcity 中设置内部版本号格式(有点像这个 Octopus Deploy blog post )。

但是,我不知道 Teamcity 处理服务消息的方式是否从那时起发生了变化,或者我是否因为它不起作用而做错了。

我将以下 Powershell 脚本作为构建配置的第一步:

$buildCounter = "%build.counter%" 
$buildConfig = "%system.buildconfig%"
$version = "%system.majorMinorVersion%"

$branch = "%vcsroot.branch%"

if ($branch.Contains("/"))
{
$branch = $branch.substring($branch.lastIndexOf("/")).trim("/")
}

$buildNumber = "${version}.${buildCounter}-${branch}"

Write-Host "##teamcity[buildNumber '$buildNumber']"

(我也试过 $branch = "%teamcity.build.branch%" 在第 5 行)

因此,当我尝试此操作时,if 语句不会运行,因为尽管在 Octopus Deploy 给出的示例中似乎 $branch 设置为实际值 %vcsroot.branch%它不是,它写出到 Teamcity 的结果实际上是 ##teamcity[buildNumber '$buildNumber'] .但是,这似乎确实有效,但内部版本号不能有 /在其中,所以我的构建失败,因为分支设置为 refs/head/master而不仅仅是 master .

我哪里错了?

最佳答案

脚本的最后一行似乎应该是:

Write-Host "##teamcity[buildNumber '${buildNumber}']"

注意:要使脚本正常工作,应在 TeamCity 构建步骤中将 if 指定为内联脚本(这使 TeamCity %-references 起作用)。

顺便说一句,您可以使用 +:refs/heads/* branch specification 使 TeamCity 显示短分支名称在 VCS 根目录中

关于powershell - 如何在 Teamcity 中设置内部版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38126254/

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