2012年12月10日月曜日

Jenkins 活用方~Jenkins を用いたジョブ管理~

こんにちは。サイオステクノロジーの貝野です。

本日は、「jenkins」の活用法をご紹介したいと思います。

jenkins とは、オープンソースのCIサーバの名称です。
jenkins には様々なプラグインがあり、テストやビルド以外にも色んな用途があります。

そこで、用途のひとつとして jenkins で job を管理する方法についてご紹介します。

・jenkinsのダウンロード~インストール

http://jenkins-ci.org より、jenkins.war をダウンロードします。

ダウンロードしたファイルを実行します。

# cd usr/local
# java -jar jenkins.war
Running from: /usr/local/jenkins.war
webroot: $user.home/.jenkins
10 16, 2012 9:20:29 午前 winstone.Logger logInternal
情報: Beginning extraction from war file
Jenkins home directory: /home/test01/.jenkins found at: $user.home/.jenkins
10 16, 2012 9:20:37 午前 winstone.Logger logInternal
情報: HTTP Listener started: port=8080
10 16, 2012 9:20:37 午前 winstone.Logger logInternal
情報: AJP13 Listener started: port=8009
10 16, 2012 9:20:37 午前 winstone.Logger logInternal
情報: Winstone Servlet Engine v0.9.10 running: controlPort=disabled
10 16, 2012 9:20:37 午前 jenkins.InitReactorRunner$1 onAttained
情報: Started initialization
10 16, 2012 9:20:40 午前 jenkins.InitReactorRunner$1 onAttained
情報: Listed all plugins
10 16, 2012 9:20:40 午前 jenkins.InitReactorRunner$1 onAttained
情報: Prepared all plugins
10 16, 2012 9:20:40 午前 jenkins.InitReactorRunner$1 onAttained
情報: Started all plugins
10 16, 2012 9:20:40 午前 jenkins.InitReactorRunner$1 onAttained
情報: Augmented all extensions
10 16, 2012 9:20:46 午前 jenkins.InitReactorRunner$1 onAttained
情報: Loaded all jobs
10 16, 2012 9:20:50 午前 org.apache.sshd.common.util.SecurityUtils$BouncyCastleRegistration run
情報: Trying to register BouncyCastle as a JCE provider
10 16, 2012 9:20:51 午前 org.apache.sshd.common.util.SecurityUtils$BouncyCastleRegistration run
情報: Registration succeeded
10 16, 2012 9:20:51 午前 org.jenkinsci.main.modules.sshd.SSHD start
情報: Started SSHD at port 43010
10 16, 2012 9:20:51 午前 jenkins.InitReactorRunner$1 onAttained
情報: Completed initialization
10 16, 2012 9:20:51 午前 hudson.TcpSlaveAgentListener 
情報: JNLP slave agent listener started on TCP port 53929
10 16, 2012 9:20:52 午前 hudson.WebAppMain$2 run
情報: Jenkins is fully up and running

上記の「Jenkins is fully up and running」が表示されたら、Jenkins は起動されています。
起動されていることを確認するため、http://localhost:8080/ をブラウザでアクセスしてみます。

Jenkins が正常に起動されている場合、以下のような画面が表示されます。

・シェルの実行管理

まず、今回の検証のために、現在の日時をテキストファイルに出力するという、簡単なスクリプトを作成しました。

sample.sh
#!/bin/bash

$date >>result.txt

次に、Jenkinsダッシュボード画面から、ジョブを作成します。

[新規ジョブ作成]を選択し、ジョブ名を入力します。
ビルドの種類については、「フリースタイル・プロジェクトのビルド」を選択します。

[ビルド・トリガ]で、「定期的に実行」を選択します。
実行スケジュールを入力します。

※実行スケジュールの記入方法については、画面右のヘルプアイコンをクリックし、
ヘルプの内容を確認してください。

[ビルド]で、「シェルの実行」を選択します。
先ほど作成したシェルを、絶対パスで入力します。

[保存]を選択して、再度 Jenkins のホーム画面を表示すると、先ほど作成したジョブが表示されています。
ジョブを実行(待機)させるには、一覧の一番右にあるアイコンをクリックします。

ジョブは、先ほど指定したスケジュール通りにを実行されます。
実行が成功した場合、アイコンの色が青色に変化し、「最新の成功ビルド」と「ビルド所要時間」に
それぞれ時間が表示されます。

ジョブを複数同時に実行した場合は、以下のような表示になります。

ジョブの実行履歴は、[ビルド履歴]を選択することで確認が出来ます。

いかがでしょうか?
ジョブの実行履歴は時系列で表示されるため、エラーが発生した場合など、 いつのジョブでエラーが起こっているのかが見つけやすいですね。

簡単な操作で実行できますので、是非活用してみてください。

以上です。

0 件のコメント:

コメントを投稿