これで、TeamCity(6.5)とMSBuildを使用して、妥当な初期の設定ができました。これまでのところ、複製する前に希望どおりに機能するまで、この方法で構築されるソリューションは1つだけです。
- 2つのビルドによって呼び出される1つのソリューション–ビルドが壊れていないことを確認するためのチェックイン時のCIビルドと、テスト用のアーティファクトを作成するテストビルド。
- アセンブリのバージョン番号は、ソリューション内のすべてのプロジェクトのリンクファイルである単一のVersionInfo.csファイル(これは良い考えですか?)から取得されます。この方法の詳細は次のとおりです: http: //www.codeproject.com/Articles/328977/The-Right-Way-to-Version-Your-Assemblies
- 両方のビルドのビルドステップは、現在、ビルドランナーとしてMSBuildを使用して、ソリューションファイルのみを調べています。
次にやりたいこと:
- バージョン番号はMajor.Minor.Release.Build番号になります。したがって、最後の項目をTeamCityビルド番号に設定する必要があります
- テストビルドのみ:バージョン番号の名前で作成されたフォルダーを使用して別の場所にコピーされるアーティファクト
それで、最後に質問に..私はする必要がありますか
- ビルド番号を反映するようにVersionInfo.csAssemblyFileVersionを修正するために、ビルド前の手順で別のビルドプロジェクトを作成します
- 新しいビルドプロジェクトで、アーティファクトを別のディレクトリの新しいディレクトリにコピーするためのビルド後の手順を作成しますか?
私がこれに苦労しているのは、両方のビルドが同じソリューションファイルを使用しているため、CIビルドがこれらのアイテムを取得しない方法と、新しいビルドファイルを作成する必要があるかどうかを検討することです。その場合、既存のソリューションファイルをそのままにしますか?
あなたはおそらく私が少し混乱していると言うことができます...どうもありがとう。