Azure DevOps 関西 2018 に参加してきました
はじめに
1/12 に 日本マイクロソフト株式会社 関西支店 で行われた、 Azure DevOps 関西 2018 に参加してきました。
詳細なレポートが書ければよかったのですが、ど素人ゆえ印象に残った部分を中心にメモ程度に書き残しておきます。
セッション1
@kosmosebi さんによる Azure DevOps の概要紹介です。
www.slideshare.net
私も年末年始で Azure Pipelines を使ってあれこれしていましたが、単体で使うのではなく、Azure Board など他のサービスと組み合わせることでもっと便利に使えそうだな、というのが印象に残りました。
ただ、正直なところ次のセッションで使うデモ用プロジェクトの作り直しなどで必死だったため、公開された資料を改めて読んで色々試してみたいと思います。
セッション 2
私による Azure Pipelines 使ってみた話です。
冒頭からサービス名(×Azure Pipeline -> 〇Azure Pipelines )を間違えるなど、拙い発表ではあったと思いますが、皆様に温かく見守っていただいたおかげでなんとか無事終えることができました。
yaml で何してるの?などの話が(避けてくれてたのかもしれませんが)被らなくて助かった、とは思いましたw
以下反省。
デモ用のプロジェクト
プロジェクトのリポジトリをメインのプロジェクトフォルダで作ってしまい、テストプロジェクトが Git 管理できず困るというトラブルがありました。
〇
PipelineSample <- ここに作る LPipelineSample LPipelineSample.Test
×
PipelineSample LPipelineSample <- ここに作ってしまった LPipelineSample.Test
普段 Rider でプロジェクトを作るときに自動で Git init してもらっていたので、まぁ気を付けましょうという話でした。
ディスプレイ設定について
PowerPoint だけ使って話をする場合、ディスプレイを拡張設定にすると手元で時間や次のスライドがサムネで見られたりして便利です。
が、今回のように Rider など別のソフトウェアを合わせて使う場合、カーソルが見つからず困る、ということがありました。
また今どれくらい話をしているか、という時間を PowerPoint で表示されるものを当てにしていたのですが、スライドショーを停止 -> 別のソフトウェアを使って説明 -> スライドショー再開 などしていたため、時間がわからなくなる、といったことがありました。
時間は別で見ることにして、ミラーリングにしておいた方が良かったかな。。。
60分の発表について
これは反省、というか感想ですが、今回初となった 60 分のセッションについて。
いつも LT でお話させてもらうことが多く、前提となる話をどの程度含めるか?といったところに悩むのですが、これだけ時間があると十分時間が取れる(むしろ早く終わりすぎてしまった)ので、助かるなぁと思いました。
あと完全にテンパった状態で始めて、我に返ってもまだ時間があるという苦笑
話の組み立て方など、他の方のお話も参考にブラッシュアップしていきたいところですね(今後チャンスがあるとして)。
セッション 3
Azure DevOps におけるテストと、 Azure Pipelines と他の CI ツールとの比較、といった内容を中心に @Posaune さんがお話されていました。
テスト
Azure DevOps には Azure Pipelines での自動テストと、 Test Plans での手動テスト支援があります。
手動テストの支援ツールというのは、(たくさんあるのかもしれませんが)初めて見たため、面白そうだなぁと思いながら聴いていました。
CI ツールなど自動化のためのソフトウェアをあまり使い慣れていないチームの場合、こういうところから入っていくのがやりやすそう?な気はします。
有料ということなのですが、30 日のお試しとかあるのかしら。
他の CI ツールとの比較
Jenkins や CircleCI などとの比較について。
yaml ではなく visual designer(GUI) で処理が書ける、というのは他のサービスだと少ない( yaml でバリバリ書く)、というのが印象的でした。
yaml での書き方に慣れてくると問題ないのかもしれませんが、特に初めて CI ツールに触れる私のような人には躓きが少なくて良いですね(私は yaml で書こうとしていましたが)。
あとは Microsoft 社が実行環境として VM を提供する辺りも違うところ。
実際には Unity などのビルドは EULA 的な問題がありそう、といった悩ましい問題もあるのですが、 .NET Core や Xcode のビルドなどであれば十分できてしまう、というのはすごいですよね。
ただ、これは次のセッションだったかもしれませんが、モバイルアプリのビルドに特化して考える場合、 App Center を使うことを考えた方が良いようです。
セッション 4
@kkamegawa さんによる Azure DevOps のセキュリティ設定周りのお話。
www.slideshare.net
これまで私がやってきたように、一人でモクモク開発するためだけに使うのであれば良いのですが、会社で導入する、といった規模が大きくなってくるときには必ず考えなければいけない話でもあります。
話の中心となるのは Azure Active Directory であったわけなのですが、全く知識がないためついていけなかった、というのが正直なところ orz
今後 Azure Active Directory について学んでみて、改めて上記資料を読み返してみたいと思います(その頃には新しい資料を出されているかもしれませんが)。
ただ印象に残っているのは、例えばあるプロダクトを作るためのプロジェクトに対する権限を付与する際に、どういう単位で行うか、というお話。
部、課などの単位にしてしまうと、異動したりなくなってしまうかもしれず、その際プロジェクトの権限割り振りはどうするの?となってしまいます。
プロダクトを制作するチームに付与すると、もし開発が中止になるなど、プロダクトが無くなったら権限の付与を考える必要はなくなる。
といった、できるだけ無くなった(変更があった)ときに困らない単位で権限を付与すると良い、という話がありました。
これは Azure Active Directory 以外でも使える話だな、と思いながら聴いていました。
あとリージョンについて、日本では東アジア(香港)辺りのものを使うことになる。
中国にもあるが、これは法律的な必要性から用意されているので中国法人じゃないとアクセスできない(少なくともログインは不可)、という話も(直接今の仕事で必要になるかはわかりませんが)印象的でした。
LT
飛び入りで @shinsukeoda さんによる SQL Server LocalDB のお話。
https://www.slideshare.net/odashinsuke/pipelines-sql-server-localdb
内容はセッションの途中で出た、 CI でテストを行うときの DB を使ったテストをどうするか?という質問に対するものです。
内容もそうなのですが、こういう飛び入りでお話ができてしまう、というのがまず凄いです。
で、その内容ですが、
- テストにあたって毎回 DB にテーブルを作り、データを入れるというのは非常に手間
- BACPAC という形式のファイルで元の DB からデータをエクスポートし、それをテスト開始前に読み込むことで簡素化できる
- インポートには .NET Framework のライブラリが必要 -> PowerShell で
また Microsoft-hosted agents で提供されている VM( Windows Server) 上の SQL Server は 2016 であり、SQL Server LocalDB( 開発者を対象とした SQL Server Expressの機能少ない版 )です。
そのため状況によっては使うことができない恐れはありますが、もし使えるのであればこれが安価で簡単なので、まず試してみては?とのこと。
Azure Pipelines で調べていた時も DB を使ったプロジェクトの開発、というところまで到達できなかったため、上記のような情報も参考にしたいと思いました。
おわりに
今回はいつも以上にスポンサーも豪華で、 米Microsoft社、日本マイクロソフト社、RevDebug に加え、SUBWAY 社による軽食までいただけてしまいました。
画像の添付忘れたの(´・ω・`) #AzureDevOps https://t.co/RZFLcXulBN pic.twitter.com/TPdikP1kyN
— あけましておめでとうございます(Masui Masanori) (@masanori_msl) January 12, 2019
じゃんけんの圧倒的弱さを発揮しましたが、いただけてしまった #azuredevops pic.twitter.com/W3CkoRZL57
— あけましておめでとうございます(Masui Masanori) (@masanori_msl) January 12, 2019
ありがたい限りです。
あと、セッション中の質問を口頭だけでなく、 Web 上でも受け付けていたのが印象深かったです。
会場の盛り上がりとしては口頭が良いのでしょうが、注目をあびる中聞きづらかったり、別のセッション中に質問が思い浮かんだりしたときに聞きづらい、という良さがあったと思います。
最後に、拙い発表であったとは思いますが、お声がけいただいた @kkamegawa さんをはじめ、主催者の方々、スポンサーの皆様、温かく見守ってくださった参加者の皆様、ありがとうございました(..)_
スライドの最後でもお話しましたが、 Azure Pipelines だけでなく、 Jenkins など他の CI ツールも使ってみて、より便利に活用していく方法を学んでみたいと思います。
また、セッション 1 などで紹介されていた Azure DevOps の他のツールとの組み合わせも試してみたいところ。
…当面無料で使えるもの限定となりそうですが(;´Д`)