私はPowershellを使ってTeamcityでビルド番号フォーマットを設定しようとしています(このOctopus Deploy blog postのようなものです)。Teamcityでビルド番号を設定するにはどうすればよいですか?
しかし、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']"
をだから私はこれを試してみてください、if文(私も5行目に$branch = "%teamcity.build.branch%"
を試してみました) Octopus Deployの例では$ branchが実際の値%vcsroot.branch%
に設定されているが、Teamcityに書き出す結果は文字通り##teamcity[buildNumber '$buildNumber']
であるため、実行されません。しかし、これは機能しているようですが、ビルド番号が/
になることはありません。そのため、ブランチはmaster
ではなくrefs/head/master
に設定されています。
どこが間違っていますか?
if( "%teamcity.build.branch%"。StartsWith( "..."))などのPowerShellを使用し、ビルド番号を書き込むための正しい構文も得ています。 ifステートメントの後にWrite-Host $ブランチがある場合、それは何から出力されますか? –