現在、自動テストとテスト/ステージング サーバーへの展開にチーム シティを使用しています。私たちのソリューションは、共通のドメインを共有する複数の .net Web API と MVC プロジェクトで構成されています。ワークフローは次のとおりです (簡略化)。
- 開発者は自分の変更を svn にチェックインします
- Teamcity は、ソリューションの構成変換、テスト、およびパッケージ化を処理する msbuild スクリプトを実行します。次に、ソリューションがテスト サーバーにデプロイされます (テストに合格した場合)。
これは非常にうまく機能しますが、リリース サーバーにデプロイする最適な方法と、ワークフローがどのように見えるべきかについて確信が持てません。大きな「Do Release」ボタンがあると想像してください。次に、どのような手順に従う必要がありますか?質問は非常に漠然としているので、次の質問でより具体的にしようとしました。
ボタンが押されたら、現在の svn ルートにタグを付けたいと思います。これはチームシティで可能ですか、それとも逆に、タグを作成し、チームシティがルートの代わりにこれを使用できるようにする必要がありますか? もしそうなら、どのタグを使用するかをチームシティにどのように伝えますか? または、代わりに最新のビルド アーティファクトを使用する必要がありますか?
関連 1. リリース アーティファクト/タグのバージョニング (ネーミング) をどのように処理しますか?
何らかの理由で、msdeploy を使用してソリューションをリリース サーバーに展開することは悪い習慣ですか? 展開手順を手動で処理することを検討する必要がありますか?
データベースの移行は手動で処理する必要がありますか?
他に何を考慮する必要がありますか?
編集: svn トランクの自動タグ付け/ラベル付けを作成する方法に関する質問に答えるこのブログ投稿 を見つけました。