1 開催概要

2016年4月24日 NaITE#13「Docker入門 &Git運用のコツ」を開催しました。概要は次の通りです。

開催日時 2016/04/24(日)

14:00 〜 16:30

開催場所 エセナ大田(東京都・大森)
メインテーマ Docker入門 & Git運用のコツ
キーワード・タグ Docker, Git
プログラム 14:00~14:10 オープニング「開会のご挨拶」 NaITE運営スタッフ
14:10~15:10 セッション1「Docker入門」 角田 俊 氏
15:10~15:20 休憩
15:20~16:20 セッション2「自分が頑張らなくても何とかなるようにするためのGit運用のコツ」 ブリッコリー 氏
16:20~16:30 クロージング「閉会の挨拶」 NaITE運営スタッフ

2 勉強会の様子

NaITE13アイキャッチ

NaITE13アイキャッチ

今回の勉強会はDocker, Gitをメインテーマとして開催いたしました。

会場定員に対して満席となったほか,各発表でも参加者からの質問が多数挙がり、活発な勉強会となりました。

また、勉強会終了後にもテーマの議論が続行されるなど、参加者のテーマへの関心の高さが伺えました。

2.1 オープニング

オープニングではNaITEについての紹介、及びプログラムの案内を実施しました。また,10月に開催する長崎QDG2016について、実行委員長の池田より紹介いたしました。

長崎QDG2016は2016年10月7日に長崎ブリックホール(長崎市内)で開催します。基調講演にガイオ・テクノロジーの大西建児様を予定しているほか,事例や先進情報についての発表についても行います。長崎市内からはもちろん,遠方からの参加も大歓迎です。

2.2 セッション1 「Docker入門」

セッション1は「Docker入門」と題して,角田 俊 氏にご発表いただきました。角田氏の発表ではDockerの利点として、以下のことが挙げられました。

  • 軽い。起動・終了が高速
  • CIなどで使い捨てできる→クリーンな環境で使える
  • パッケージイメージの共有ができる

当日はDocker Machine, Docker Composeにおけるコマンド操作について角田氏がデモを行いました。実際にデモを見る(あるいは実際に操作する)ことで、参加者もDockerの動きや利点を理解できたようでした。Webサーバの環境構築がいくつかのコマンド操作でわずか数分のうちに行うことができるなどVirtualBoxやVMwareなどの仮想化技術とは異なるコンテナ技術の利便性に驚く参加者も多くいたようです。

Dockerコンテナの構成内容を記述するDockerfileは、UNIX系ソフトウェアにおけるMakefileのような書式で記述されており、まさに今流行の「インフラのコード化」につながるものであり参加者の関心も高かったのではと推察します。

また、Dockerではパッケージイメージを共有・公開することができ、公開されているイメージを取得するだけでインフラの構築が行えます。今では多くのイメージがDocker公式で公開されており、SQLなど他のツールとの連携も容易に行えるとのことです。

今回取り扱われた内容はあくまで基礎的な機能について絞られていました。より詳細な使い方は実際にDockerをインストールして触ってみることをおすすめいたします。この機会にDockerとはどういうものか実感してみてはいかがでしょうか。

2.3 セッション2 「自分が頑張らなくても何とかなるようにするためのGit運用のコツ」

セッション2は「自分が頑張らなくても何とかなるようにするためのGit運用のコツ」と題して,ブロッコリー氏にご発表いただきました。ブロッコリー氏の発表では、Gitのメリットとして以下のことが挙げられました。

  • ローカルでコミットが可能である
  • ブランチを簡単に分けられる
  • マージの仕組みが優秀であり、衝突が発生しづらい

上記のGitのメリットは、特に集中型バージョン管理ツールと比較して示されました。ローカルでコミットが行えること、簡単にブランチを分けられることなどです。スライド上のフロー図を利用して、初学者にも理解しやすいよう工夫されていました。

導入後の運用のポイントについては、Gitフローなどの具体的な運用フローの例を挙げて説明されました。その中で、開発の規模や人数、Git運用への習熟度によっても選択するブランチ戦略が異なってくるという点にも触れられていました。また、質疑応答では全く異なるプロダクトにおける運用フローの例が示されるなど、ブランチ戦略の重さがプロダクトやドメインによって大きく異なるということが説明されました。

発表の中で、ソフトウェア開発手法の1つであるチケット駆動開発についても触れられました。Gitのメリットとしてブランチを分けることが容易であるということが説明されました。これを活用してチケット単位でブランチを切るなどをすると、更新とチケットの関係がわかりやすくなるほか、チケットのドロップ時の対応が簡単になるといったメリットがあるそうです。これにはなるほど、と思わず納得しました。

実運用における操作ミス(チケットNo. の入力誤りなど)に対する対策も説明されました。Gitではフックスクリプトというcommitやpushといった操作をトリガとして,ある処理を走らせる仕掛けがあり、これを活用することで、commitメッセージにチケットNoが記入されていることをチェックするなどの仕組みを実装することができます。このスクリプトの記述内容については、勉強会終了後も議論が盛り上がりました。

GitはOSSの世界ではすでに広く使われていますが、まだ導入されていない開発現場も多いようです。導入で得られるメリットも多いので、是非導入を検討してみてはいかがでしょうか。

2.4 クロージング

クロージングでは次回のNaITE#14についてのご紹介を行い、発表者の方への御礼と閉会のご挨拶を行いました。今回の発表においては角田氏、ブロッコリー氏にご協力をいただき、充実した勉強会を実施することができました。参加してくださった皆様に感謝申し上げます。

3 参考情報・リンク等

当日の発表資料等は以下をご参照ください。

4 次回の予定等

次回は「統計(データ解析)初歩」をテーマとして、開催の予定です。

ぜひ、参加をご検討ください。

 

以上

ーーーーーーーーーー
2016年5月1日 作成
報告者:藤沢 耕助(NaITE運営スタッフ)

pdf:NaITE#13 「Docker入門 & Git運用のコツ」 開催レポート