4

TeamCityは優れたCIツールであり、セマンティックバージョニングを使用してDLLバージョンを長期間管理しています。現在、TeamCityとセマンティックバージョニングを統合するというアイデアに到達しています。その間、このトピックについて調査を行っています。お気に入り

MajorVersion.MinorVersion.PatchVersion.BuildNumber

常にteamcitybuildnumberを使用するbuildNumber、およびassemblyinfo.cs内で維持する他の3つのバージョンここでの質問は、teamcityを使用してビルド番号をassemblyinfo.csにフィードする方法です。Msbuildがこのパラメーターをサポートしていることがわかります。同じことを処理するためのベストプラクティス?また、開発者に公開されたバージョン情報として、バージョン全体をnugetパックにフィードしたいと思います。

どうもありがとう

4

4 に答える 4

2

この記事では、私にとって有効なアプローチについて説明しようとしました。 http://www.developerfusion.com/article/144809/continuous-integration-using-nuget-and-teamcity/

NuGet は SemVer を (まだ) 完全にはサポートしていないことに注意してください。たとえば、PrereleaseTags とビルド番号を組み合わせても、期待どおりに動作しません。MSDN の Top 10 NuGet (Anti-)Patterns で、バージョン管理に関する少しのガイダンスを説明しました。

于 2012-09-20T05:22:54.023 に答える
1

AssemblyInfoPatcher機能を使用できます。ビルド機能は、ビルド構成設定の[ビルドステップ]ページで構成されます。ここに文書化されています。AssemblyInfoを標準の場所に保持していない場合は、MSBuildコミュニティタスク AssemblyInfoを使用してmsbuildで書き換えることができます。

于 2012-09-19T07:14:54.337 に答える
0

TeamCity メタランナー パワー パック ( https://github.com/JetBrains/meta-runner-power-pack ) の一部として利用可能な非常に完全な SemVer ビルド番号メタランナーがあります。

著者による機能の説明は次のとおりです。 http://johanleino.wordpress.com/2013/10/11/teamcity-meta-runner-semantic-version-build-number/

SemVer Build Number メタランナーは、PowerShell に基づくランナーです。(この投稿の時点で)次のことができます。

  • nuspec (nuget) ファイルからバージョン番号を取得します。
  • 手動のバージョン番号を使用します (必要な場合はパラメーターから)。他のメソッドをオーバーライドします。
  • TeamCity ビルドカウンターを含めます。
  • VCS リビジョンを含めます。
  • Git コミット ハッシュを短いハッシュに変換します。
  • 必要に応じて Build MetaData を無視します。
  • ロギングなど
于 2013-12-30T16:49:15.527 に答える