biglobe クラウドホスティング 開発お役立ちパック · 3.2. jenkins+jmeter...
TRANSCRIPT
Copyright © 2013 BIGLOBE. All Rights Reserved
1
1.0 版
(2013年7月3日)
ビッグローブ株式会社
BIGLOBE クラウドホスティング
開発お役立ちパック
Jenkins 利用マニュアル
Copyright © 2013 BIGLOBE. All Rights Reserved
2
0. はじめに .......................................................................................................................... 4
1. Jenkinsとは何だろう ..................................................................................................... 5
Jenkinsとは................................................................................................................ 5
機能概要 ...................................................................................................................... 5
2. Jenkinsをはじめる準備をしよう (管理者) ............................................................ 6
Jenkinsに接続 ............................................................................................................ 6
ログイン ...................................................................................................................... 6
パスワード変更 ........................................................................................................... 7
ユーザ登録 ................................................................................................................... 9
ユーザー権限の変更 ................................................................................................... 11
ジョブ単位でユーザー権限の設定 ............................................................................ 13
3. Jenkinsを使ってみよう ............................................................................................... 18
3.1. Jenkinsで JUnitテストをする ............................................................................ 19
JUnitとは ............................................................................................................. 19
新規ジョブを作成する ........................................................................................... 19
ビルド実行 ............................................................................................................. 24
結果参照 ................................................................................................................. 24
3.2. Jenkins+JMeterで負荷テストをする .................................................................. 25
JMeterとは ........................................................................................................... 25
新規ジョブを作成する ........................................................................................... 25
ビルド実行 ............................................................................................................. 31
結果参照 ................................................................................................................. 31
3.3. Jenkins+Skipfishで脆弱性診断をする ................................................................ 32
Skipfishとは ......................................................................................................... 32
新規ジョブを作成する ........................................................................................... 32
ビルド実行 ............................................................................................................. 35
結果参照 ................................................................................................................. 35
3.4. Jenkinsでリモートマシンでテストする .............................................................. 38
事前準備 ................................................................................................................. 38
新規ジョブを作成する ........................................................................................... 44
3.4.1. Jenkins+Seleniumでテストする ................................................................ 45
事前準備 ............................................................................................................. 45
新規ジョブを作成する ....................................................................................... 48
Copyright © 2013 BIGLOBE. All Rights Reserved
3
ビルド実行 ......................................................................................................... 52
結果参照 ............................................................................................................. 53
3.5. Jenkins+Sonarでコードメトリクスをする ......................................................... 55
Sonarとは ............................................................................................................. 55
事前準備 ................................................................................................................. 55
Sonarの事前準備 ............................................................................................... 55
Jenkinsの事前準備 ........................................................................................... 59
新規ジョブを作成する ........................................................................................... 61
ビルド実行 ............................................................................................................. 67
結果参照 ................................................................................................................. 67
4. 注意事項 ........................................................................................................................ 70
ご注意 ........................................................................................................................ 70
Copyright © 2013 BIGLOBE. All Rights Reserved
4
0. はじめに
本マニュアルでは、開発お役立ちパックにおける、下図の赤枠部分について、利用例を説明して
います。
(注意)ご利用にあたっては、各 OSS に関連する設定や DB パスワード変更等を行うことを推奨し
ます。下記「環境変更マニュアル」をご参照ください。
https://cloudhosting.sso.biglobe.ne.jp/cp/main/help/devops_0_manual_start.pdf
(※コントロールパネルへのログイン必要)
Copyright © 2013 BIGLOBE. All Rights Reserved
5
1. Jenkins とは何だろう
Jenkinsとは
Jenkins は、ソフトウェアのビルドや定期的に起動するプログラムなど繰り返しジョブの実行を監
視します。Jenkins は次の 2 つの機能に重点を置いています。
機能概要
継続的な、ソフトウェアプロジェクトのビルドとテスト
CruiseControl(※1)や DamageControl(※2)のこと。 Jenkins は「継続インテグレーショ
ンシステム」を提供し、複数の開発者の変更をプログラムに統合でき、自動的に新しいビル
ドを作成できるようにします。
外部で起動するジョブの実行監視
他のサーバで動作している cron によるジョブや procmail3のジョブも監視できます。。
システムのステータスを定期的にメールで受け取っている場合、人間が目視で確認しなけれ
ばなりません。Jenkins はそれらを受け取り異常を検出ことを自動で行うことができます。
(*1) 継続的なビルドを実現するためのツールのこと。一定の間隔を置いて更新をチェックし、更新
があればビルドプロセスが実行される。また、XML 形式の実行結果ログやメール通知機能も備えた
もの。
(*2) 攻撃・衝撃を受けた際、そのダメージや被害を必要最小限にとどめる事後の処理のことを指
す。
(*3) メールの振り分けを行うソフトウェア。
Copyright © 2013 BIGLOBE. All Rights Reserved
6
2. Jenkins をはじめる準備をしよう (管理者)
Jenkinsに接続
以下の URLにアクセスしてください。Jenkinsのログイン画面を表示します。
URL:https://[IPアドレス]/jenkins/
ログイン
ログインフォームに「ユーザー名」「パスワード」を入力してログインしてください。
Jenkins をインストールした直後であればユーザー名、パスワードともに"jenkins"でログインできま
す。
Copyright © 2013 BIGLOBE. All Rights Reserved
7
パスワード変更
「開発者」をクリックしてください。
ユーザーID「Jenkins」をクリックしてください。
「設定」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
8
パスワード項目の「パスワード」および「パスワード(確認)」に新しいパスワードを入力し、「保存」ま
たは「適用」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
9
ユーザ登録
「Jenkinsの管理」をクリックしてください。
「ユーザの管理」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
10
「ユーザー作成」をクリックしてください。
ユーザー作成画面に下記の情報を入力し、「サインアップ」をクリックしてください。ユーザーが登
録されます。
【基本情報】
項目 内容
ユーザー名 ユーザー名を入力してください。
パスワード パスワードを入力してください。
パスワードの確認 パスワードをもう一度入力してください。
フルネーム フルネームを入力してください。
メールアドレス メールアドレスを入力してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
11
ユーザー権限の変更
「Jenkinsの管理」をクリックしてください。
「グローバルセキュリティの設定」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
12
権限管理(行列による権限設定)を設定してください。
追加するユーザー/グループに登録を行ったユーザーを入力し「追加」をクリックします。
追加したユーザーの権限設定を適宜行い、「保存」または「適用」をクリックしてください。
※ユーザー「jenkins」の設定は変更しないでください。
Copyright © 2013 BIGLOBE. All Rights Reserved
13
ジョブ単位でユーザー権限の設定
ジョブ単位でユーザー権限を設定できるように設定を変更します。操作を誤ると、Jenkinsにログイ
ンできなくなってしまう可能性があるので、この操作はよく注意して行ってください。
※Enter を使用すると操作中の状態で保存されます。Enterは絶対に使用しないでください。
「Jenkinsの管理」をクリックしてください。
「グローバルセキュリティの設定」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
14
権限管理から「行列による権限設定(プロジェクト単位)」を選択してください。
追加するユーザー/グループにユーザー「jenkins」を入力し「追加」をクリックします。
ユーザー「jenkins」にすべての権限を付与(チェック)します。
クリックすると、チェックボックスの状態が反転します
Copyright © 2013 BIGLOBE. All Rights Reserved
15
追加するユーザー/グループに「jenkins」以外のユーザーを入力し、追加します。
「jenkins」以外のユーザーにはジョブの権限を付与(チェック)しないでください。
設定後、「保存」または「適用」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
16
ユーザーの権限を変更するジョブをクリックしてください。
「設定」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
17
「権限設定(プロジェクト単位)の有効か」をチェックしてください。
追加するユーザー/グループに権限を付与するユーザーを入力し、「追加」をクリックしてください。
追加したユーザーの権限設定を適宜行い、「保存」または「適用」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
18
3. Jenkins を使ってみよう
本章では、以下の主要なビルドジョブの種類の設定と説明をします。
※ 記述例は、GitLabのサンプルコードを利用しています。
3.1. Jenkinsで JUnit テストをする
3.2. Jenkins+JMeterで負荷テストをする
3.3. Jenkins+Skipfishで脆弱性診断をする
3.4. Jenkinsでリモートマシンでテストする
3.4.1. Jenkins+Seleniumでテストする
3.5. Jenkins+Sonarでコードメトリクスをする
Copyright © 2013 BIGLOBE. All Rights Reserved
19
3.1. Jenkins で JUnit テストをする
JUnitとは
JUnitとは、Java言語によって開発されたプログラムに対して単体テストを行うためのアプリケーシ
ョンフレームワークです。プログラムが正常に動作するか否かをテストする最初の検証作業である単
体テストが簡単に行えるようになり、開発に要する時間を短縮して効率化をはかることができます。
新規ジョブを作成する
Jenkins にジョブを作成します。今回は Git よりリポジトリの設定を行い、Ant(Java ベースのビルド
ツール)で JUnitテストを実施するまでの基本的な手順をご説明します。
左メニューの「新規ジョブの作成」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
20
新規ジョブ作成画面に下記の情報を入力してください。
【基本情報】
項目 内容
ジョブ名 作成するジョブの名前を入力してください。
ビルドの種類 「フリースタイル・プロジェクトのビルド」を選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
21
ジョブ設定画面が表示されます。
ソースコード管理システム(Git)を設定してください。
【基本情報】
項目 内容
Repositories ビルドする Javaソースが格納されたGitリポジトリのURLを入力してください。
(入力例)
/home/git/repositories/root/sampleproject.git
※GitLab 連携する場合は下記表記は使えません。上記のようなパス指定し
てください。(git@IPアドレス:root/sampleproject.git)
Copyright © 2013 BIGLOBE. All Rights Reserved
22
(リポジトリ構成例)
. |-- build
|-- build.xml
`-- src
|-- main
`-- test
※build.xmlにビルドスクリプトを設定してください。
(設定例)
<project name="junit" default="test" basedir=".">
<target name="compile">
<mkdir dir="build"/>
<javac srcdir="src" encoding="UTF-8" destdir="build" debug="on"
includeantruntime="true"/>
</target>
<target name="test" depends="compile">
<junit>
<test name="AddValueTest"/>
<formatter type="xml"/>
<classpath>
<pathelement location="build"/>
</classpath>
</junit>
</target>
<target name="clean">
<delete dir="build"/>
<delete>
<fileset dir="." includes="TEST-*.txt"/>
</delete>
</target>
</project>
Copyright © 2013 BIGLOBE. All Rights Reserved
23
ビルド設定の「ビルド手順の追加」から「Antの呼び出し」を選択してください。
「使用する Ant」を選択し、「保存」または「適用」をクリックしてください。
項目 内容
使用する Ant デフォルト(ant-1.6.5) 又は apache-ant-1.9.1
から選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
24
ビルド実行
対象ジョブの「ビルド実行」をクリックしてください。
結果参照
対象ジョブの対象ビルド履歴画面より「コンソール出力」をクリックして結果を確認してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
25
3.2. Jenkins+JMeterで負荷テストをする
JMeterとは
JMeterは Jakartaプロジェクトで開発が進められている、パフォーマンス計測用の Javaアプリケー
ションです。JMeterを使えば、さまざまな条件のもとでパフォーマンスの計測を行う事ができます。
注意; サービス基盤に負荷が掛かりますので、計測対象のサイト以外に対して本操作を行わない
でください。
新規ジョブを作成する
Jenkins にジョブを作成します。今回は Git よりリポジトリの設定を行い、JMeter で負荷テストを実
施するまでの基本的な手順をご説明します。
左メニューの「新規ジョブの作成」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
26
新規ジョブ作成画面に下記の情報を入力してください。
【基本情報】
項目 内容
ジョブ名 作成するジョブの名前を入力してください。
ビルドの種類 「フリースタイル・プロジェクトのビルド」を選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
27
ジョブ設定画面が表示されます。
ソースコード管理システム(Git)を設定してください。
【基本情報】
項目 内容
Repositories ビルドする Javaソースが格納されたGitリポジトリのURLを入力してください。
(入力例)
/home/git/repositories/root/samplejmeterproject.git
※GitLab 連携する場合は下記表記は使えません。上記のようなパス指定し
てください。(git@IPアドレス:root/samplejmeterproject.git)
(リポジトリ構成例)
. |-- build.xml
|-- scenarios
| |-- jmeter.jmx(※1)
`-- results
Copyright © 2013 BIGLOBE. All Rights Reserved
28
`-- html
`-- jtl
※1:Jmeterで作成したテスト計画ファイル
※build.xmlにビルドスクリプトを設定してください。
(設定例)
<project default="all">
<property name="jmeter-home" location="/opt/apache-jmeter"/>
<!-- ant-jmeter.jar comes with jmeter, be sure this is the release you have -->
<path id="ant.jmeter.classpath">
<pathelement location="${jmeter-home}/extras/ant-jmeter-1.1.1.jar" />
</path>
<taskdef
name="jmeter"
classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"
classpathref="ant.jmeter.classpath" />
<target name="clean">
<delete dir="results"/>
<delete file="jmeter.log"/>
<mkdir dir="results/jtl"/>
<mkdir dir="results/html"/>
</target>
<target name="test" depends="clean">
<jmeter
jmeterhome="${jmeter-home}"
resultlogdir="results/jtl">
<testplans dir="scenarios" includes="*.jmx"/>
<jvmarg value="-Xmx512m" />
</jmeter>
</target>
<target name="all" depends="test"/>
</project>
Copyright © 2013 BIGLOBE. All Rights Reserved
29
ビルド設定の「ビルド手順の追加」から「Antの呼び出し」を選択してください。
「使用する Ant」を選択してください。
項目 内容
使用する Ant デフォルト(ant-1.6.5) 又は apache-ant-1.9.1
から選択してください。
ビルド後の処理設定の「ビルド後の処理の追加」から「Publish Performance test result report」を
選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
30
「Publish Performance test result report」を表示し、「Add a new report」から「JMeter」を選択し
てください。
レポート設定に下記の情報を入力し、保存してください。
【基本情報】
項目 内容
Performance report 出力される jmeter.jtlのパスを入力してください。
Performance threshold Unstableや Failed を出力するしきい値を入力してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
31
ビルド実行
対象ジョブの「ビルド実行」をクリックしてください。
注意;他のサイトに負荷をかけないで下さい。
結果参照
対象ジョブの画面に負荷テストの結果がグラフで表示されます。
グラフをクリックすると詳細な内容を確認することができます。
Copyright © 2013 BIGLOBE. All Rights Reserved
32
3.3. Jenkins+Skipfishで脆弱性診断をする
Skipfishとは
SkipfishはGoogleが、Webアプリケーション向けのセキュリティ脆弱性スキャナとして公開したソフ
トウェアです。Web アプリケーションに特有のセキュリティホールを検査するもので、Web アプリケーシ
ョンの開発者やサービス提供者向けに公開されています。
注意; サービス基盤に負荷が掛かりますので、計測対象のサイト以外に対して本操作を行わない
でください。
新規ジョブを作成する
Jenkins にジョブを作成します。今回はシェルにより Skipfish を実行し、脆弱性診断を実施するま
での基本的な手順をご説明します。
左メニューの「新規ジョブの作成」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
33
新規ジョブ作成画面に下記の情報を入力してください。
【基本情報】
項目 内容
ジョブ名 作成するジョブの名前を入力してください。
ビルドの種類 「フリースタイル・プロジェクトのビルド」を選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
34
ジョブ設定画面が表示されます。
ビルド-シェルの実行-シェルスクリプトに下記の情報を入力してください。
【基本情報】
項目 内容
シェルスクリプト skipfishは/opt/skipfishにプリインストール済みですので
以下のコマンドを設定し、赤枠部分に脆弱性診断する URL を設定してくださ
い。
rm -rf results
mkdir results
cd /opt/skipfish/
./skipfish -o $WORKSPACE/results http://xxxxxx/
Copyright © 2013 BIGLOBE. All Rights Reserved
35
ビルド実行
対象ジョブの「ビルド実行」をクリックしてください。
結果参照
対象ジョブの左のメニューからワークスペースをクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
36
ワークスペースの resultsに skipfishで実行した結果が保存されています。
results をクリックしてください。
results フォルダにある index.html をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
37
skipfishの実行結果が表示されます。
ページ内のリンクをクリックすると詳細な内容を確認することができます。
Copyright © 2013 BIGLOBE. All Rights Reserved
38
3.4. Jenkins でリモートマシンでテストする
スレーブと呼ばれるビルドを行うためのリモートマシンを Jenkinsに登録すれば、分散ビルドが可能
になります。
本章では JNLP経由でスレーブを起動する手順を紹介します。
事前準備
「Jenkinsの管理」をクリックしてください。
「システムの設定」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
39
開発機上のコマンドを実行するために Jenkinsの URL とスレーブの設定をしてください。
システム設定画面にある Jenkins の位置項目の「Jenkins URL」を設定し、「保存」または「適用」
をクリックしてください。
Jenkins URL:http:// [Jenkinsが動いているサーバの IPアドレスまたは FQDN]/jenkins/
※ブラウザからアクセス可能な URLを設定してください。
※httpsは指定しないでください。
https を有効にするためには正規なサーバ証明書をサーバに登録する必要があります。
画面上部に「保存」と表示されます。
Copyright © 2013 BIGLOBE. All Rights Reserved
40
次に Jenkinsにノードを追加します。左メニューの「Jenkinsの管理」をクリックしてください。
「ノードの管理」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
41
左メニューの「新規ノード作成」をクリックしてください。
「ノード名」、「スレーブの種類」を入力して、「OK」をクリックしてください。
【基本情報】
項目 内容
ノード名 作成するスレーブの名前を入力してください。
スレーブの種類 「ダムスレーブ」を選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
42
「同時ビルド数」、「リモート FS ルート」「起動方法」を入力して、「保存」ボタンをクリックしてくださ
い。
【基本情報】
項目 内容
同時ビルド数 作成するノードで同時にビルドを行う数を入力してください。
起動方法 JNLP経由でスレーブを起動を選択してください
リモート FSルート ノードを作成マシンの中の Jenkinsのパスを絶対パスで入力してください。
ノードマシンの以下のパスがジョブのワークスペースになります。
<リモート FSルート>\workspace\<ジョブ名>
作成したノードのノード名をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
43
スレーブに設定するマシンのブラウザから「Launch」をクリックしてください。
Jenkinsスレーブエージェントが起動します。
コマンドラインからも起動できます。
slave.jar をダウンロードして、赤枠のコマンドを実行すると起動されます。
Copyright © 2013 BIGLOBE. All Rights Reserved
44
新規ジョブを作成する
新規ジョブ作成画面で、「実行するノードを制限」を選択し、ラベル式に事前準備で登録したノード
名を入力してください。
【基本情報】
項目 内容
ラベル式 ノード名
スレーブで実行されるジョブを保存して、ビルド実行するとスレーブマシン上でコマンドが実行され
ます。
Copyright © 2013 BIGLOBE. All Rights Reserved
45
3.4.1. Jenkins+Seleniumでテストする
スレーブ機能を利用するとブラウジングテストも可能になります。
本章ではスレーブマシン上でブラウジングテストする手順を紹介します。
事前準備
開発機に Selenium Serverをダウンロードしてください。
以下の URLにアクセスし、Selenium Server (formerly the Selenium RC Server)をダウンロード
してください。
http://docs.seleniumhq.org/download/
Copyright © 2013 BIGLOBE. All Rights Reserved
46
Seleniumを使用するために、必要な設定があります。以下の手順で事前準備を行ってください。
「Jenkins管理」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
47
「システムの設定」をクリックしてください。
システム設定画面にある Selenium Remote Control項目の「htmlSuite Runner」にダウンロードし
た、Selenium Server の jar ファイルのフルパス(ファイル名を含む)を指定し、「保存」または「適用」
をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
48
新規ジョブを作成する
Jenkins にジョブを作成します。Jenkins と Selenium と連携し、WEB テストを実施するまでの基本
的な手順をご説明します。
左メニューの「新規ジョブの作成」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
49
新規ジョブ作成画面に下記の情報を入力してください。
【基本情報】
項目 内容
ジョブ名 作成するジョブの名前を入力してください。
ビルドの種類 「フリースタイル・プロジェクトのビルド」を選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
50
ジョブ設定画面が表示されます。
「実行するノードを制限」を選択し、ラベル式に事前準備で登録したノード名を入力してください。
【基本情報】
項目 内容
ラベル式 ノード名
ビルド手順の追加において「SeleniumHQ htmlSuite Rum」を選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
51
「SeleniumHQ htmlSuite Rum」項目の各項目を入力し、「保存」または「適用」をクリックしてくださ
い。
項目 内容
browser Seleniumを実行するブラウザの種類を入力してください。
startURL Seleniumでテストするサイトの StartURL を入力してください。
suiteFile Seleniumで実行する suiteファイル名を入力してください。
事前準備で設定したワークスペースから相対パスで記述することができます。
入力例)testsuite.html
resultFile Seleniumの実行結果ファイルのファイル名を入力してください。
事前準備で設定したワークスペースから相対パスで記述することができます。
入力例)result\testresult.html
Copyright © 2013 BIGLOBE. All Rights Reserved
52
ビルド後の処理に「Publish Selenium Html Report」項目の「Selenium tests Html location」を入
力し、「保存」または「適用」をクリックしてください。
項目 内容
Selenium tests Html location 「SeleniumHQ htmlSuite Rum」の「resultFile」に入力したフォルダの
パスを入力してください。
事前準備で設定したワークスペースから相対パスで記述することが
できます。
入力例)result
ビルド実行
対象ジョブの「ビルド実行」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
53
結果参照
ビルド履歴よりコンソール出力を確認してください。実行結果が表示されます。
Copyright © 2013 BIGLOBE. All Rights Reserved
54
メニューより「Selenium Html Report」をクリックしてください。
Seleniumテストの実行結果が表示されます。
Copyright © 2013 BIGLOBE. All Rights Reserved
55
3.5. Jenkins+Sonarでコードメトリクスをする
※本章は、「開発便利パック A2」を購入されたユーザ様が対象となります。
Sonarとは
Sonar はスイスの SonarSource S.A.を中心に開発されているコードの品質管理を行うオープンソ
ースのプラットフォームです。コードのさまざまなメトリクス(統計情報)を総合的に集計し、現在の開
発の状況を視覚化します。非常に使いやすい Web の UI(ユーザーインターフェイス)で、プロジェクト
ごとのメトリクスから各パッケージごとのメトリクスまで、ドリルダウンすることにより、問題が潜んでい
そうなところを調査することができます。
事前準備
Sonarを使用するために、必要な設定があります。最初に使用する前に、以下の手順で事前準備
を行ってください。
Sonarの事前準備
Sonar 管理者のパスワード変更を行います。以下の URL にアクセスしてください。Sonar のログイ
ン画面を表示します。ログインフォームに「ログイン」「パスワード」を入力してログインしてください。イ
ンストールした直後であればログイン、パスワードともに"admin"でログインできます。
URL:http://[Sonarが動いているサーバの IPアドレスまたは FQDN]/sonar/
Copyright © 2013 BIGLOBE. All Rights Reserved
56
Administratorより「個人設定」を選択してください。
パスワードの変更項目内の「古いパスワード」、「新しいパスワード」および「(確認)新しいパスワー
ド」すべてを入力し、「パスワードを変更する」をクリックしてください。
画面上部に「パスワードが変更されました。」と表示されれば、パスワード変更は完了です。
Copyright © 2013 BIGLOBE. All Rights Reserved
57
次に、必要なアカウントの追加を行います。ログイン画面の「アカウント登録」をクリックしてくださ
い。
アカウント登録画面が表示されます。各項目を入力し、「アカウント登録」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
58
利用者が任意でアカウント登録できるようにデフォルトで有効にしています。
無効にする場合は、「プロジェクト設定」-「設定」-「セキュリティ」の「Allow users to sign up
online」を falseに設定してください。
Sonarの事前準備は完了です。
Copyright © 2013 BIGLOBE. All Rights Reserved
59
Jenkinsの事前準備
Jenkins管理者でログインして、「Jenkins管理」をクリックしてください。
「システムの設定」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
60
Sonar項目の「高度な設定...」をクリックし、Sonar項目を表示してください。
Sonarの設定をします。各パラメータは設定済みですが、「Server URL」は変更が必要です。
又、「Sonar account login」「Database password」など変更した場合は、個別に設定してくださ
い。
「保存」または「適用」をクリックしてください。
項目 内容
Server URL http:// [Sonarが動いているサーバの IPアドレスまたは FQDN]/sonar
※ブラウザからアクセス可能な URLを設定してください。
※httpsではアクセスできません。
※URL末尾の「/」はつけないでください。
画面上部に「保存」と表示されれば、Jenkinsの事前準備は完了です。
Copyright © 2013 BIGLOBE. All Rights Reserved
61
新規ジョブを作成する
Jenkins にジョブを作成します。今回は Sonar を実行し、コードメトリクス(基準)に沿ったソースで
あるか確認するまでの基本的な手順をご説明します。
左メニューの「新規ジョブの作成」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
62
新規ジョブ作成画面に下記の情報を入力してください。
【基本情報】
項目 内容
ジョブ名 作成するジョブの名前を入力してください。
ビルドの種類 「フリースタイル・プロジェクトのビルド」を選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved
63
ジョブ設定画面が表示されます。
「ソースコード管理」から「Git」を選択し、Git情報を入力してください。
【Git情報】
項目 内容
Ripository URL Git リポジトリのURLを入力してください。
(入力例)
/home/git/repositories/root/sampleproject.git
※GitLab 連携する場合は下記表記は使えません。上記のようなパス指定し
てください。(git@IPアドレス:root/sampleproject.git)
(リポジトリ構成例)
. |-- build/classes
|-- lib
|-- src
`-- test
Copyright © 2013 BIGLOBE. All Rights Reserved
64
「ビルド手順の追加」から「Invoke Standalone Sonar Analysis」を選択してください。
ジョブ情報を入力し、画面下の「保存」または「適用」をクリックしてください。
【ジョブ情報】
項目 内容
ビ ル ド ( Project
properties)
Sonar Runnerで使用するプロパティの内容を入力してください。
設定例を以下に示します。
Copyright © 2013 BIGLOBE. All Rights Reserved
65
※Project propertiesに Sonar Runnerで使用するプロパティを設定してください。
(Java解析の設定例)
(PHP解析の設定例)
# Required metadata
sonar.projectKey=org.codehaus.sonar:php-sonar-runner
sonar.projectName=PHP project analyzed with the Sonar Runner
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources (required)
sonar.sources=src
# Language
sonar.language=php
# To deactivate features related to unit tests execution and coverage
sonar.dynamicAnalysis=false
# Encoding of the source files
sonar.sourceEncoding=UTF-8
# Required metadata
sonar.projectKey=java-sonar-runner-simple
sonar.projectName=svn-sonar-test
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources (required)
sonar.sources=src
# Comma-separated paths to directories with binaries (optional), in case of Java - directories
with class files
sonar.binaries=build/classes
# Comma-separated paths to test source directories (optional)
sonar.tests=test
# Comma-separated paths to files with third-party libraries (optional), in case of Java - JAR
files
sonar.libraries=lib/*.jar
# Language
sonar.language=java
# Encoding of the source files
sonar.sourceEncoding=UTF-8
Copyright © 2013 BIGLOBE. All Rights Reserved
66
(javascript解析の設定例)
(Flex解析の設定例)
# Required metadata
sonar.projectKey=org.codehaus.sonar:example-flex-sonar-runner
sonar.projectName=Simple Flex Project analyzed with the Sonar Runner
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources (required)
sonar.sources=src
# Language
sonar.language=flex
# Encoding of the source files
sonar.sourceEncoding=UTF-8
# Required metadata
sonar.projectKey=org.codehaus.sonar:javascript-sonar-runner
sonar.projectName=JavaScript project analyzed with the Sonar Runner
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources (required)
sonar.sources=src
# Language
sonar.language=js
# Encoding of sources files
sonar.sourceEncoding=UTF-8
Copyright © 2013 BIGLOBE. All Rights Reserved
67
ビルド実行
対象ジョブの「ビルド実行」をクリックしてください。
結果参照
対象ジョブの「Sonar」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
68
Sonar のログイン画面が表示されます。管理者から通知された「ログイン」「パスワード」を入力して
ログインしてください。
対象プロジェクト名をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved
69
実行結果の画面が表示されますので、ご確認ください。
Copyright © 2013 BIGLOBE. All Rights Reserved
70
4. 注意事項
ご注意
本書の内容の一部または全部を無断転載することは禁じられています。
本書の内容に関しては将来予告なしに変更することがあります。
Copyright © 2013 BIGLOBE. All Rights Reserved
71
BIGLOBE クラウドホスティング
開発お役立ちパック Jenkins 利用マニュアル
1.0 版 2013 年 7 月
ビッグローブ株式会社