TFS&GIT:Webサイトとクラウドサービスに対する連続配信サポート
今回のWindows Azureリリースで、Windows AzureおよびTeam Foundation Servicesで連続配信サポートを非常に簡単に設定できるようになりました。
Team Foundation Servicesは、統合ソースコントロール(TFSおよびGitサポートを含む)、構築サーバ、テスト実行、コラボレーションツール、アジャイルプランニングサポートを提供するMicrosoftのクラウドベース製品です。
これにより、クラウドに非常に簡単にチームプロジェクト(自動化されたビルドとテスト実行のある完全版)がセットアップでき、Visual Studioとも非常にリッチに統合されます。
今回のWindows Azureリリースで、Team Foundation Servicesを使用してホストされているTFSおよびGitベースのリポジトリを使った連続配信サポートが非常に簡単に利用できるようになりました。
これにより、コードがチェックインされ、自動化されたビルドサーバー上で正常に構築され、すべてのテストが通る場合のワークフローが可能になるので、手動による作業なく自動的にアプリをWindows Azureに展開できます。
以降のスクリーンショットは、Team Foundation Servicesを使用してホストされたGitベースのASP.NET MVCプロジェクトを使用して、Windows Azureに連続配信ワークフローを簡単にセットアップする方法を示しています。
Team Foundation Servicesを使用してWindows Azureへ連続配信
これから連続配信を可能にしようとしているプロジェクトは、ASP.NET MVCプロジェクトで、そのソースコードはTeam Foundation Servicesを使用してホストしています。これを行うのに、Gitを使用してそこに"SimpleContinuousDeploymentTest"リポジトリを作成し、ソースコードをプッシュするために、Visual Studio 2013で新しいビルトインのGitツールサポートを使用しています。
以下は、Team Foundation ServicesでホストされているGitリポジトリのスクリーンショットです。
Visual Studio 2013でリポジトリにアクセスして、簡単にそれをコミットできます(ブランチ、マージ、その他のタスクも同様です)。VS 2013を使用して、リポジトリにコードがチェックインされるたびにTeam Foundation Servicesを使用して自動化されたビルドをクラウドに設置することもできます。
これの素晴らしい点は、サーバを購入したり、レンタルしたりする必要がないことです。Team Foundation Servicesは自動的に自身のビルドサーバーファームを保守しており、上記設定を使用してコードがチェックインされると(無償で)ビルドを自動的にキューに乗せてくれます。
このビルドサーバ(および自動テスト)のサポートは、TFSおよびGitベースのソース管理リポジトリで動作します。
Team Foundation ServicesプロジェクトをWindows Azureと接続
Automated BuildsとTesting設定されたTeam Foundation Servicesでホストされているソースリポジトリができると、さらに、リポジトリにソースコードがコミットされた時に(ビルドとテストが通っていると仮定して)、自動的にWindows Azureに展開される設定をすることができます。これを有効にするのは、非常に簡単です。
Windows Azure Webサイトでこれを設定するには、Windows Azure管理ポータルでNew->Compute->Web Site->Custom Createコマンドを使用してください。これにより、以下のようなダイアログが表示されるので、Webサイトに名前をつけて、"Publish from source control"チェックボックスをチェックします。
Nextをクリックすると、ソースリポジトリの場所を入力するように求められますので、"Team Foundation Services"を選択してください。
これを行うと、ソースリポジトリ(今回の場合、私のTFSアカウントは"scottguthrie"です)がホストされているTeam Foundation Servicesアカウントの入力プロンプトが表示されます。
"Authorize Now"ボタンをクリックすると、Team Foundation Servicesアカウントに接続するWindows Azureのアクセス許可を設定するプロンプトが表示されます。入力すると、接続したいソースレポジトリの選択画面が表示されます。
今回のWindows Azureリリースから、TFSおよびGitベースのソースリポジトリに接続できます。
この新しいサポートにより、先に作成した"SimpleContinuousDeploymentTest"リポジトリに接続することができます。
Finishボタンをクリックすると、Team Foundation Servicesとセットアップされた連続配信設定のあるWebサイトが作成されます。これで、Team Foundation Servicesでリポジトリにソースコントロールがプッシュされると、自動ビルドを行い、ソリューションですべてのユニットテストを実行し、それが通れば、アプリは自動的にWindows Azure Webサイトに展開されます。
WebサイトのDeploymentsタブを使用して、これらの自動デプロイの履歴やステータスをモニターすることができます。
これにより、非常に滑らかな連続配信ワークフローが可能になり、非常にすばらしい方法でアプリの構築および展開が可能になります。