2016-04-12 3 views
0

変数の更新を使用していない:これは絶対に取り組んでいるチームシティーAssemblyInfoPatcherは、私はチームシティーのビルド番号(9.1.4)PowerShellでこのようなサービス・メッセージ(スクリプトの相互作用を構築する)でビルドを変更してい

Write-Host "##teamcity[buildNumber '$version.$arg2']" 

良い。

問題は、AssemblyInfoPatcherがこの更新されたビルド番号を使用しないことです。

私は変数/パラメータを使用しようとしましたが、これも機能しません。

私は以下の変数 "Major.Minor.Patch"を "Configuration Parameter"または "Environment Variables"として定義しました。 AssemblyInfoPatcherはこれらの変数を使用していて、ビルドのTeamCityで定義されたバージョンでファイルのファイルバージョンを変更します。

サービスメッセージで変数/パラメータを変更しようとすると機能しません。 AssemblyInfoPatcherは引き続き古い値を使用しています。設定パラメータと環境変数

Write-Host "##teamcity[setParameter name='env.Major.Minor.Patch' value='$version']" 

例と

Write-Host "##teamcity[setParameter name='Major.Minor.Patch' value='$version']" 

私が何か間違ったことか、それだけでは不可能であるだろうか?私が望む唯一のことは、私のファイルは、私のチームシティーのビルドと同じバージョン番号を持っているということです...

答えて

2

AsssemblyInfoPatcherは、ビルドステップのいずれか前を実行します(そして、あなたのAssemblyInfoファイルのすべてのを元に戻すために、再度実行しますあなたのビルドステップ)。したがって、ビルドステップの1つでサービスメッセージを使用してMajor.Minor.Patchを設定すると、実際にはゲームには遅すぎます。

おそらく、複数のビルド設定を一緒にすることができます。最初のconfig(A)は今やっているようにパラメータを設定し、次にAssemblyInfoPatcherを使う2番目のconfig(B)を起動します。 BはA(完了ビルドトリガーに加えて)にスナップショットの依存関係を持つため、AssemblyInfoPatcherは%dep.A.Major.Minor.Patch%を参照できます。このパラメータはもちろん、BのAssemblyInfoPatcherが実行されているときに利用可能です。

+0

ありがとうございました。多分、文字列の組み立て方法に関するチュートリアルへのリンクがありますか?私はTeamCityでそれをやったことはありません。 – Shamshiel

+1

1)SetVersionという新しいbuildconfigを作成し、サービスメッセージを作成するビルドステップを実行します。 2)元のビルド設定のトリガーを変更し、SetVersionに "ビルド完了トリガー"を追加します。 3)元のビルド設定の依存関係を変更し、SetVersionに「スナップショット依存」を追加します。 4)現在のビルド設定のAssemblyInfoPatcherを変更して '%dep.SetVersion.Major.Minor.Patch%'を参照してください。私はそれが助けて欲しい – sferencik

+1

簡単な説明をありがとうございます。私はそれを自分でやりました。私はほとんどあなたの言ったようにすべてをやったが、私はステップ2をしなかった。私はVCSトリガーを保持し、TeamCityがバージョンビルドを最初にビルドする依存関係のためにまだ動作している。 – Shamshiel

関連する問題