ケロSE

ケロいSEが日々思う事を書きます

Jenkinsを導入して2年を振り返る

昨日、日本オラクル様で開かれた「

JJUG ナイトセミナ 「師走の Jenkins 祭り」 - 日本Javaユーザーグループ | Doorkeeper

」でGREEの岡崎さんが「Jenkins運用3年でわかったこと」という発表をされて、それに触発されて職場プロジェクトのJenkins導入の歴史を振り返ってみようと思った次第。(導入して3年かと思っていたけど、2年やった…(;´∀`))

 

なんとなく、6ヶ月区切りくらいで歩みを振り返ります。

2011年12月〜2012年5月 導入期

導入のトリガーになったのは、リリースビルドの手順が面倒(色んなファイルの設定をデプロイ対象のサーバに応じて手で書き換えていた)でかつ手ビルドになっていて、変なアプリがデプロイされてしまう事が頻発していました。

それを抑止するために、Jenkinsで自動ビルドするようにしました。

この頃はMaster1台に、Jobが20程度の運用で、機能的には

  1. Flashのビルド (Flex Builder を使用)
  2. warファイルのビルド(Ant + build.xmlを使用)
  3. Androidアプリのビルド(AndroidSDKとAntを使用)

でした。

2012年6月〜2012年11月 放任期間

この頃は自分がプロジェクトを離れていて、Jenkinsのお世話ができませんでした。代わりに面倒をみてくれていた後輩様が自分の作ったジョブをコピーして一部値を書き換えて、で活用してくれていました。(その後輩が別のプロジェクトでもJenkinsを導入してくれていたのがとても嬉しかったな〜)

この頃は、Master1台に、Jobが40程度の運用でした。

2012年12月〜2013年5月 雌伏期間

面倒をみてくれていた後輩様は転勤でプロジェクトを離れ、私が再びプロジェクトに戻ってきて管理者バトンタッチ。賢いCron的な使い方も導入していきSlaveを使うようになってきて、Master1台にSlave1台、Jobが60程度の運用でした。

Job数が多いのは、1サイトで6ジョブくらいあってそれがサイト数分あるのでモリモリ増えてしまうのです。

2013年6月〜2013年12月 飛躍期間

雌伏期に蓄えていたネタが一気に実を結んで、いろんなことができるようになりました。

  1. 検証サーバ(AWS上のサーバ)への1クリックデプロイ
  2. iOSアプリのビルド
  3. サイト別リリースビルド・デプロイジョブを生成するジョブ

かねてからやりたいと思っていた、AWS上の検証サーバへの1クリックデプロイがチームのメンバに非常にウケました。(使い出して1年経ってやっとみんなに価値が提供できた…)

この頃は、Master1台に、Slaveが6台、Jobが90程度の運用になっています。

 

2014年の展望

最近、プロジェクトの中でJenkinsがゴールデンハンマー化の傾向があるので、適切なツールに役割を分散させないといけないなーと感じつつあります。

もう1つは、職場で運用周りのプロセスを共有して楽しよう、という流れがあるのでその中でJenkinsをどんどん宣伝して行きたい。