読者です 読者をやめる 読者になる 読者になる

@neiraza

2匹の怪獣が寝た後にプログラマーしてる、最近はサイバーエージェントでゼミ長もしてる僕のネタ帳

今日は僕の友人であるJenkinsを紹介しよう

Jenkins Advent Calendar jp 2011 24日目の配属を命じられました、id:redogu こと@neirazaです。

普段は主に光回線事業者&ISPをやっている会社で、
会社の思惑とは関係なく、Androidアプリ開発やGroovy,Scala等でWebサービスを開発する部署に所属してます。

今日は「初心者はJenkinsを導入するとお得だよ」ってのがテーマです。
何の初心者なのか。どこまでが初心者で、どこからが初心者ではないのか。
その辺は皆様のご想像にお任せします。

「Jenkins」を導入すると良い事があるよねって一般的な話しは、
『 Jenkins実践入門 ~ビルド・テスト・デプロイを自動化する技術 』
『 Jenkins The Definitive Guide 』
これらの書籍をお読みください。

さてここからは僕個人の考えなので、『退かぬ!! 媚びぬ 省みぬ!!』という気持ちで参りたいと思います。


現在、私は一人でAndroidアプリ開発をやってます。
一人は寂しく、誰かに反応して欲しくて、「jenkins」さんと一緒に働いております。
解決済みの事項で最近、Jenkinsさんに教えて貰ったのは、
AndroidSDK r14以降から、maven-android-pluginが上手く使えずエラーになってた事とか助かりました。

しかし、彼と仲良く暮らす事さえも、最初は敷居の高いものでした。
「jenkins」さんはインストールも簡単だし、各種設定も簡単です。
でも、私には敷居が高かったのです。なぜでしょうか。

当然ですが、原因は私です。
今までBuild職人様に頼り切り、AntやMavenを自分でいじってこなかったツケがまわってきたのです。

Antがいいかな?Mavenがいいかな?・・・Gradleに走ろうかな?
いくらGoogle先生に聞いても答えは見えません。
だって知識では違いがわかっても、そんなの上辺だけの話しですし。
結局、全部自分で試してから、今回の場合は何が良いか選択する事に決めました。
その為に、buildツールや周辺知識を一から勉強し直しました。

しかし、この勉強は根本的に欠けていた僕のスキルを、見直す良い切っ掛けになりました。
すぐに気づいたのは、テストソースの書き方や考え方が少し変わりました。
少し意識が飛んでアジャイル本を読み直し、プロジェクトの進め方も考え直しました。

脱線しまくったとも言えますが、
僕はこの点について、「初心者はJenkinsを導入するとお得だよ」と声を高く言いたいのです。


Jenkinsは、決して導入すれば良い事があるものではないんです。
導入した後に、どう使いこなしていくかが大事なわけで、
Jenkins自体が自分の意思で、buildしたり、叱ってくれたりするわけじゃないんです。
僕たちが「目的を決め」、「環境を見極め」、「適切に設定」する事で活きてくるのです。

そこに開発に必要な基礎知識が全て詰まっているからこそ、
まだ開発経験が浅い方には、一度は個人のローカルに入れてみて、じっくりと試してみて欲しいのです!!!


というわけで、最後に上記を実践している事を紹介して終わりにしたいと思います。


先々週にMacを買ったので、先週から某社の『iPhoneアプリ開発講座』に通っています。
当然、僕の興味は自作ゲームのソースを『jenkins』で遊ばしたい!です。

f:id:redogu:20111224005804p:plain
しかし、現在は惨敗中です。本当はこれを正常に動かして・・・「兄さん、頭が痛いよ」。

最初はこいつを試したのですが、
SICCI for Xcode Plugin
https://wiki.jenkins-ci.org/display/JENKINS/SICCI+for+Xcode+Plugin

ここで「SICCI for Xcode」を選択しても、何も表示されない。
f:id:redogu:20111224010550p:plain

おかしいなと思い、上記のリンクからソースを読もうとしたけど、見つからない。
GitHub上を探せば見つかると思うけど、そいう問題でもないので諦め、次へ。

Xcode Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Xcode+Plugin

こいつをインストールし、実行してみると・・・・。
f:id:redogu:20111224011145p:plain

これの事なのかな?と調べてみたり、
https://issues.jenkins-ci.org/browse/JENKINS-12217

そもそも、「きーちぇーん」って何だと調べてみたり、
類似のエラーがXcodeでbuild使用としたときに、出るケースがあるってことを、知ったり。


ほら、Mac初心者&iOSアプリ開発初心者だからこそ、
知らなければいけないことが、山ほど出てきましたよ。
Xcodeでゲームをサクサク作っているだけじゃ、ここを勉強しようってならんかもですよ。

やっぱり、Jenkinsは「お得」だなー。
でも、誰か解決を教えてくれたら、少しだけ幸せかも・・・。

というわけで、少し早いですが
f:id:redogu:20111224012026p:plain
ってことで、bye