なかしょの技術日誌

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

.NETラボ勉強会2019年6月にて「Visual Studio App Center Authの導入方法について」というLTをしました。

2019年6月22日に開催された.NETラボ勉強会2019年6月にてLTしました。

dotnetlab.connpass.com

発表した資料はこちらです。

www.slideshare.net

Azure Active Directory B2Cを使用するVSAppCenterのAuth機能の導入についてまとめた内容でLTしました。

Azure AD B2Cは認証機能を簡単に導入するための良いサービスなので活用できる方法を色々と検証していこうと思います。

.NETラボ勉強会2019年5月にて「Visual Studio App Center新機能 AuthとDataについて」というLTをしました。

2019年5月25日に開催された.NETラボ勉強会2019年5月にてLTしました。

dotnetlab.connpass.com

発表した資料はこちらです。

www.slideshare.net

5月のBuild2019に合わせて発表されたVisual Studio App CenterのAuthとData機能について軽くまとめてみました。

これからも興味を持った新しい内容を、LT等で発表していきたいと思います。

.NETラボ勉強会2019年4月にて「ペアプロするならgit-duetを使おう」というLTをしました。

2019年4月10日に開催された.NETラボ勉強会2019年4月にてLTしました。

dotnetlab.connpass.com

発表した資料はこちらです。

www.slideshare.net



今回の勉強会のセッションでMicrosoft MVPの関 満徳さん( @fullvirtue )が「Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング」というタイトルで登壇されるということを知って、関連した内容のLTにしました。
業務でほぼ毎日ペアプロしており、そこで使っているgit-duetというgit拡張コマンドをそのうち紹介したいな、と思っていたので良い機会でした。

Android Test Night #6 でAzure DevOpsについてLTしました。

2019年3月7日に開催されたAndroid Test Night #6 でAzure DevOpsについてLTしました。

testnight.connpass.com

発表した資料はこちらです。

www.slideshare.net



Androidアプリ開発のCI/CDを実現することにおいてAzure DevOpsをどう活用するかを説明しました。 今回はAzure ReposとAzure Pipelinesの説明がメインでしたが、やっぱりAzure Boardsも含めて総合的に説明したほうが導入意欲を掻き立てる気がします。 懇親会では興味を持った参加者が話しかけてくれたり自社内の勉強会で使用させてもらいますと好評を得られたようで良かったです。
木曜日の開催でしたが、その週は咳が止まらない状況で当日は咳止めシロップを服用してマスクをしながらの発表となりました。 しゃべりたいネタを色々と考えていたのですが、気管支を刺激しないように淡々としゃべることで精一杯でした。健康管理は大事ですね。

CI/CD Test Night #3 でAzure PipelinesについてLTしました。

2019年2月21日に開催されたCI/CD Test Night #3 でAzure PipelinesについてLTしました。

testnight.connpass.com

発表した資料はこちらです。

www.slideshare.net



この資料の作成当初は、Azure PipelinesでMicrosoft HostedとSelf Hosted使い分けて、効率よくクラウドでCI/CDを管理しようと説明したかったのですが、遊休PCのネタを入れたら説明がまとまらなくなった気がしました。
5分のLT資料では主張したいことがぶれないようにまとめるのも重要ですね。次回に活かします。

CI/CD専用モニタと心理的安全性

CI/CD専用モニタと心理的安全性というタイトルで、以下の3つの勉強会でLTしてきました。

testnight.connpass.com

dotnetlab.connpass.com

jazug.connpass.com

発表資料

www.slideshare.net

発表した理由

CI/CD Test Nightに登壇が決まって、私が主に扱っているAzureDevOpsやVSAppCenterはどうせ被らないけれど被らないネタをどうしようかと思っていた時に技術的なことよりも心理的なものの方が良いかなと判断して内容を決めました。
CI/CDについて自動化、DRY原則スノーフレーク化防止、リグレッションテストだとか技術やプロセスについてばかり脚光を浴びて、チームの心理的安全性についてはあまり語られていない印象です。
もちろんCI/CD専用モニタがあれば心理的安全性が必ず高まるわけではないです。でもチームのコミュニケーション活発化にも貢献できるとアピールしたかったのです。



今後も技術的なことだけでなく、チームビルディングなどについて語っていけたらな、と思います。

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がますます便利になることを期待しています。