MS 主催の DevOps ハッカソンに参加しました!

DevOps ハッカソン開催報告 (9/5~6) & 次回予告 - MSDN オンライン チームブログ - Site Home - MSDN Blogs が大阪で開催されたので参加しました。

初日午前中に、DevOps ってどんなの?とか説明があり、午後からはチームに分かれて作業するという流れ。

6人チームで、自動デプロイまではやりたいねーという感じでスタート。

最初に決めた構成は、

  • VSTS*1 の Git に アプリのソースとDockerファイルを Push
  • VSTS でアプリのビルド/テスト、Docker ファイルもビルド?
  • VSTS から Docker Hub に Push
  • Docker Hub から Tutum に 連携
  • Tutum で Docker を展開
  • 出来たらアプリからのログを可視化

って感じでした。

Docker も Docker Hub も Tutum も初めてなんで、VM がどこで動くのかとかさっぱり!なとこからのスタート。

みんなでタスクを洗うと、前処理が要らない3つに分けれそうなので、2人組で以下の3チームで動くことになりました。

  • Azure アカウント有効化 + CI(VSTS) チーム
  • Java アプリ と Docker ファイル作成 チーム
  • Docker Hub / Tutum チーム

タスク洗うところとかチーム分けとか @bufferings さんが颯爽とこなされていて、すごいなーと。

今回 Docker Hub / Tutum を触ってみたかったので、Docker Hub / Tutum の所を担当しました。

ものすごくサクサクお手軽に連携出来るので、めっちゃ楽ちん!
作業していくうちに、Tutum が 色んなクラウドサービスに対して Docker Hub からとってきたイメージを展開出来ることが分かりました。
VM は好きなクラウドサービスで動かすことが出来るんですね~。

Docker ファイル書くとことか、自分が担当していない他の2チームの内容も知りたかったので、OneNote を使って各チームの作業内容をざっくりと書くことにしました。
これで、後から1人でも同じ構成が作れるかなー?

そんなこんなで初日はこんな感じでお終いー。

2日目は、Docker Hub / Tutum チームが可視化の部分も担当することに。
アプリから Azure Table Storage にログを吐いてもらって、それを Power BI でグラフ化する事にしました。
2人組のもう一人の方が Power BI Desktop でかっこいいグラフを作ってくれて、Power BI サイトに発行してこちらも完成~。

CI(VSTS) チーム では、VSTS で Docker のビルドが出来ない!とトラブっていたのに、サクッと Azure VM に Docker + Jenkins 立ててリカバリーしてたのが凄かった。
Visual Studio Team Services - Docs.com
なスライドを見つけたので、出来るのかな?と思ったんですが、いつの間にかこの機能が無くなっていたそうです。*2

ちょっと時間が余ったので、Jenkins の Promoted Builds Plugin - Jenkins - Jenkins Wiki を追加して、ビルドを昇格したら別VMに Docker を展開するように設定を追加して、ステージングへのデプロイ/プロダクションへのデプロイとを実現させました。

今回はコードも殆ど書かず*3、Docker Hub と Tutum の設定画面を触った位でしたが知らない事いっぱいあったので楽しかった!

Docker ファイル書けるようになったら、Docker Hub / Tutum は使ってみようかな。

1日目/2日目 と 朝/昼ご飯、フリードリンクと非常に快適な環境で凄く良かったです。
かなり集中して作業出来て、仕事より疲れた~。

大阪でもハンズオンがもっと開催されると嬉しいな~

*1:Visual Studio Team Services

*2:MVP と MS 社員の方情報

*3:Jenkins の job の設定で、Tutum への Trigger キックする curl 書いただけ!