kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Visual Studio Onlineチームプロジェクトと外部連携

TFSの管理体系にはプロジェクトコレクションとチームプロジェクトがあります。以前書いたんですが、原則この辺は変わっていません。

TFSのプロジェクトとコレクション - kkamegawa's weblog

オンプレミスではプロジェクトコレクションを作れば完全に分離できますが、メンテナンスも大変なのであんまりやらないほうがいいでしょう。

チーム プロジェクト コレクションを使用したサーバーの整理

Visual Studio Onlineではプロジェクトコレクションは一つしか作れないので、複数のMSアカウントでそれぞれオーナーになればできますが、ちょっと面倒かもしれません。チームプロジェクト単位ではVisual Studio OnlineからWebsiteやAzureクラウドサービスへのデプロイが可能ですが、どちらもチームプロジェクト単位での設定にします。

f:id:kkamegawa:20140707023436p:plain

まだポータルにVisual Studio 2013ないんですね…で、この設定はチームプロジェクト単位で設定します。Visual Studio Onlineにチェックインすると自動的にステージングにデプロイが行われます。

f:id:kkamegawa:20140707025723p:plain

もちろん結構時間がかかります。ログの表示をクリックすれば途中経過もわかります。ホストビルドされるので、ビルドサービスの課金には気を付けて。

f:id:kkamegawa:20140707030408p:plain

Visual Studio Onlineログは逐次更新示されます。TFSビルドサービスクライアントを接続しておけば通知されるので、忘れずに構成しておきましょう。

で、プロジェクト単位でチェックインすると自動ビルドが走るのはいいのですが、チームプロジェクトに複数のクラウドサービスやWebサイトがあるとちょっと困ります。

(7/7間違えていたので削除)。メッセージキューの追加だけですね。

こういうときはVisual Studio Onlineのサービスフック機能で特定のソリューションが含まれたビルド定義が成功したときだけAzureストレージにコピーする、という設定をしておけば自動的にストレージに配置されます。

f:id:kkamegawa:20140707031759p:plain

f:id:kkamegawa:20140707031632p:plain

次のスクリーンショットもあるけど、省略(^^;。配置された後、ストレージからデプロイしてあげれば一つのプロジェクトで複数のクラウドサービスプロジェクトを格納できるのでいいんじゃないでしょうか。

 あれ、ちょっと勘違いしていました…