なかしょの技術日誌

業務では非MS系のものばかりですが、ここではMS系の技術やサービスを中心に書いていきたいと思います。

Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう

とあるPull Request画面

Pull Request画面で以下の赤枠の文言を見かけたことはありませんか?

f:id:nakasho_dev:20180909211924p:plain

これは継続的インテグレーションがセットアップされていませんよ、という情報です。 「are available」のリンクをクリックするとGitHub MarketplaceのCIカテゴリに遷移します。

GitHub Marketplaceの CI カテゴリ

GitHubのMarketplaceで提供されているCIツールが表示されます。

f:id:nakasho_dev:20180909212005p:plain

ここではApp Centerを選択します。するとApp CenterのGitHub Appページが表示されます。

App CenterのGitHub App

f:id:nakasho_dev:20180909212230p:plain

このページの下部に以下のような画面があります。

f:id:nakasho_dev:20180909212023p:plain

プランを選ぶところですが、ここではFreeを選択して「Install it for free」をクリックしてインストールしましょう。

f:id:nakasho_dev:20180909212250p:plain

App CenterのGitHub Appを反映させるリポジトリを選択します。 リポジトリを選択した場合は対象のリポジトリに対してVSAppCenterのプロジェクトを作成します。

VSAppCenterのプロジェクト作成・ビルド設定

対象OSとPlatformを選択しプロジェクトを作成します。

f:id:nakasho_dev:20180909212431p:plain

その後、ビルド設定が開くのでビルド設定を実施します。

f:id:nakasho_dev:20180909233157p:plain

ビルド設定画面の「Save」ボタンを選択し設定を保存してください。 これでVSAppCenterとGitHubとの連携ができました。

GitHubのPull Request画面での確認

設定したプロジェクトと関連付けたGitHubリポジトリへ新たにPull Requestを投げてください。PullRequestの内容をVSAppCenterがビルド開始し、以下のようにVSAppCenterでビルドしている状態が見れるようになりました。

f:id:nakasho_dev:20181022000955p:plain

ビルドやテストが完了すると以下のように表示が変わります。

f:id:nakasho_dev:20181022001054p:plain

「Details」のリンクからVSAppCenterの画面へ遷移して詳細なビルドログを見ることが可能です。

Checks APIについて

なぜGitHubでCIサービスの詳細なタスク状況が分かるようになったかというとGitHubからChecks APIというものが提供されたかです。 従来はインテグレーション実施後にビルドの成功/失敗ステータスだけが表示されていたのですが、本APIによりステータスの詳細が表示され、必要に応じてビルドプロセスの再実行もGitHubユーザーインターフェイス内で完結することができるようになります。 どこからでも利用できるAPIではなく、GitHubAppが利用できるAPIのようです。 現在対応しているのは以下の4つのようです。

最後に

Pull Requestをすぐにビルド・テストすることでレビューアの負担が軽減し、開発の生産性が上がるのではないでしょうか。 また、Checks APIにより色々なCIサービスとGitHubが繋がることで、GitHubがますます便利になることを期待しています。