第6回 クラウドとソース管理:連載:いまどきのソース・コード管理(3/4 ページ)
最終回となる今回は、クラウドで提供されるサービスを利用したソースコード管理や各種サービスとの連携の概要を紹介する。
VS Onlineから他のクラウドサービスの呼び出し
執筆時点ではプレビューだが、VS Onlineではビルドの成功、失敗をはじめとして、作業項目の作成、更新やチェックインを行ったタイミングなどでWebサービスを呼び出すことにより、さまざまな連携を行うことが可能だ。以下のような活用方法が考えられる。
- ビルドの成功/失敗時にチャットサービスに通知することにより、メンバー全員にそのことを周知
- ビルド成功をAzureのストレージサービスのキューにメッセージ登録
- ソースコード管理にVS Onlineを使い、チェックイン後にJenkinsを呼び出す
- ビルド時にNuGetパッケージをMyGetに配置
- その他、登録されている以外のWebサービスを呼び出し(JSONでデータの受け渡しができるものに限られる)
− 参考:Web Hooks
これを図にすると、次のようになる。
例えば、Azureストレージキューにビルド結果を格納する場合、以下のようになる。
VS Onlineから外部サービス呼び出しの設定はチームプロジェクト単位で設定する。これにはチームプロジェクトのWebポータルを開いて、歯車のアイコンをクリックする。
[Create the first subscription for this projects]というリンクをクリックするとサービスの一覧が表示される。
Azureストレージサービスを呼び出すサービスフックの作成
(1) サービスを呼び出すイベントを指定する。
(2) (ビルドイベントの場合)使用するビルド定義を指定する。
(3) (ビルドイベントの場合)外部サービスを呼び出すビルド結果を指定する。
呼び出す外部サービスやサービスを呼び出すイベントによって異なるが、ビルドの場合、ビルド定義([Build Definition]セクション)とサービスを呼び出すトリガーとなるビルド状態([Build Status]セクション)を指定する。そして[Next]ボタンをクリックすると、詳細な構成を行うためのダイアログが表示される。
サービス呼び出しに必要な情報を構成するダイアログ
(1) ストレージアカウント名。
(2) ストレージアカウントキー。
(3) キュー名(Azureストレージキュー名ではなく、識別する任意の名前。半角小文字のみ)。
(4) メッセージタイムアウト(秒)。
(5) メッセージ有効時間(秒)。
(6) 送信時にリソースの列をどの程度送るか(最少/送らない)。
(7) メッセージ送信形式(Markdown/html/Textなどが選択可能)。
(8) 詳細メッセージ形式(同上)。
Azureポータルでストレージアカウント名、アカウントキー、キュー名を指定して、[Test]ボタンをクリックするとテストが行われる。[Test]ボタンをクリックして、問題がなければ次のような画面が表示される。
テストが正常に実行できたことを確認して、[Finish]ボタンを押せば設定が完了する。
この例では、設定完了後、ビルドが成功するごとにAzureストレージの「atmarkittestqueue」というストレージキューにビルド成功のメッセージが書き込まれる。
サービスフックで選択した項目によってはイテレーションや作業領域を設定できるため、特定の作業領域に属するチェックインが行われたときのみ外部サービスが呼び出されるように設定することもできる。
Copyright© Digital Advantage Corp. All Rights Reserved.