2012年2月22日水曜日

豆ナイトPresents:続・CI超入門 ~Jenkinsノススメ2~ に参加してきた話

参加を予定していた勉強会が中止になったので、
幸運にも空きがあった標題のイベントに参加してきた。


1. @kohsukekawa 氏による「Jenkinsの導入」

Jenkinsが技術系だけでなく多様な業種の企業で使われている
これにより、多くの現場でCIがいかに有効であるかということが感じられると思う。

テストを書かない傾向が日本では比較的見られる
というのは本当に残念な文化だなと本当に感じる。ただし、今後もっとCIが浸透していくにつれて変わっていくのではないかな。

(CIは)問題があったときの命綱
音で知らせるのとは異なるが、問題があったときに適宜知らせてくれるという点でJenkins (というかCI)は重要であるということ。恒常的に赤になり、意味がなくなることもありがちだけど。

また、「Jenkins導入時にあるとよいもの」として

  • バージョン管理システム (e.g. Subversion, Git)
  • ビルドスクリプト (e.c. build.xml, .bat, Makefile)
  • テストスクリプト
が挙げられた。私が最初に導入した時は、JavaプロジェクトでAntのbuild.xmlを書いて、ソースコードはBitbucketに置いたかな。私も偉そうに言えるほどテストスクリプト書いてないな...

CIを使う利点の1つは、ビルド環境を確認できること
異なるバージョンを開発環境で使っているメンバーがいればビルドエラーになる可能性があるし、ということであった。CIサーバを構築する専門要員というほどではないが、あまり経験ない人に練習がてらビルド環境の構築をしてもらうのも良いなと思った。


2. @tamagawa_ryuji 氏による「Jenkins on Amazon EC2


ビルドの負荷の変動に合わせて自前でHWなどを用意するか?
上記の問いに始まり、EC2の話に突入。最初は何でだろうと思ったけど、確かにマルチ構成プロジェクト (DBにPostgreSQLやMySQLを使ってたりする)で複数の環境で一気にテストを進めたり、負荷が掛かり必要なときにだけスレーブを起動するなど納得できる内容だった。
JenkinsのAmazon EC2 Pluginを使うと、高負荷時にスレーブを自動で起動してビルドするらしい、便利そう。あと、Ubuntu 32ビット版でならとりあえず動くという情報を得られたのはよかった。スレーブ時の起動AMIにはgitなどのツールをインストールしておくことが必要。

セキュリティはどうなのかという点について
Amazon Virtual Private Cloudを使うと社内LANとAmazon DCをIPSecで結ぶことができる。それでも不安な人はAWS Direct Connectを使うと専用接続となるのでもっと安全。私の場合は、そもそも自分で公開環境作るよりはEC2に任せる方がよほど信用できるけど。

おまけ
プレゼントを懸けたクイズググる競争で書籍を頂いた。ありがとうございました。

今年の個人的なテーマがテストとCIなので時間を見て積極的に進めていくつもり。
今日は入門的とはいえ、しっかりした話を聞けたので非常に満足である。
とりあえず会社でもっと使うようにしていかないとな〜

0 件のコメント:

コメントを投稿