Jenkinsの勉強会にいってきました

きょうは、"Touch the Jenkins"に行ってきました。
この時点での環境は、以下の内容です。

  • Mac OS X Lion 10.7.3
  • java 1.7.0_04
  • git 1.7.5
  • jenkins ?

jenkinsは今年はじめにインストールして放置していたので、かなり古いのでアップデートすることに、でもその前に以前インストールしたときにサービスとして登録されているようだったので、まずそのサービスを起動しないようにするところから始めました。
まず起動しているサービスの停止

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

毎回サービスとしてjenkinsが起動しないように、以下のplistを削除(とりあえず別のディレクトリに移動)
/Library/LaunchDaemons/org.jenkins-ci.plist

sudo mv org.jenkins-ci.plist ~

ここから本題に
ここにくるまでに、スタッフの方にはご迷惑をおかけして申し訳なかったです。(涙)

  • ターミナルで以下のコマンドでjenkinsを起動。
cd /Applications/Jenkins/
java -jar jenkins.war 

正常に起動

  • 停止する時は「control」+「c」

  • 1つ目のプロジェクト作成

まずは、Hello Worldとコンソール出力するだけのものを作成してみる。

1.[新規ジョブ作成]のリンクをクリック、[ジョブ名]を入力し[フリースタイル・プロジェクトのビルド]を選択

2.[設定]のリンクをクリック

3.ビルドの指定で[シェルの実行]を選択

4.シェルスクリプトが入力できるようになるので実行したい内容を指定、今回は"Hello Jenkins"と出力する

5.[ビルドを実行]リンクをクリック、[コンソール出力]リンクをクリック、ジョブが成功していることを確認
(現場で実行した時は文字化けしていたのですが、なぜが今日はなおっている?)

  • 2つ目のプロジェクト作成(Mavenプロジェクト、プロジェクトはgithubより取得)

1.まず必要なpliginをインストール
Jenkinsの管理 > プラグインの管理 > 利用可能タブ で、[Github Plugin]を選択してインストール
[インストール済]タブでインストールを確認

2.Jenkinsの管理 > システム設定 > で、以下のJDK,Git,Maven欄を指定する

3.[新規ジョブ作成]のリンクをクリック、[ジョブ名]を入力し[Maven2/3プロジェクトのビルド]を選択

4.[GitHub project]にhttps://github.com/devst/devst_nakamozu/と入力(リポジトリのホームページを指定してるだけです。省略可)

5.[ソースコード管理システム]欄でGitを選択
6.[Git]>[Repository URL]にgit://github.com/devst/devst_nakamozu.gitを入力
(ソースを取得するためのURLを指定するところ。今回はReadOnlyのURLを指定)

7.「ゴールとオプション」にtestと入力(ビルド時に、mvn testコマンドが実行)

8.「保存」ボタンを押して、Job完成!「ビルドの実行」コンソールでビルドが成功していることを確認

  • 作成した上記のプロジェクトを連鎖して動作するように設定(Hello Jenkins が成功したら、devst_nakamozu2 を実行する)

1.Hello Jenkinsの[設定]で、ビルドのシェルスクリプト欄にエラーになるように「exit -1」と入力
2.[ビルド後の処理の追加]で[他のプロジェクトのビルド]を選択

3.[ビルドするプロジェクト]が入力できるようになるので[devst_nakamozu2]と入力し[保存]

4.[ビルドの実行]、コンソール出力でHello Jenkinsがエラーになって、後続するビルド[devst_nakamozu2]が実行されていないことを確認

・Hello Jenkinsの設定のシェルスクリプト欄で入力した「exit -1」を削除すると[Hello Jenkins]のビルドが成功し、後続するビルド[devst_nakamozu2]が実行

一人では到達できないレベルまで数時間で実践できて本当に勉強になりました。
一度でも実践するととても理解が深まります。
スタッフの方には感謝です。ありがとうございました!
追記:記載し忘れていた内容をJenkins勉強会(その2) - tomoTakaの日記にちょっとだけですが追加。