Ant,Jenkins,Sonarの導入手順
注意 : このページ「Ant,Jenkins,Sonarの導入手順」は、現在書きかけの状態です。完成版に向けて、今後加筆・修正します。また、本ページの内容は全体的な整合性が取れていない可能性があります。 |
本ページでは、Javaソフトウェア管理ツール群である、Ant・Jenkins・Sonarの導入手順を記述します。Maven,Jenkins,Sonarの導入手順と異なるのは、ビルドツールにMavenではなくAntを使用している点です。
Mavenは、ディレクトリ構成といった各種ルールが予め定義されているため、標準に従えばビルド作業が効率よく行える反面、自由度が低いため融通が利かないという性質があります。
Mavenを導入していないプロジェクトに対してSonarによる品質チェックを行いたい場合、Mavenのルールに無理やり適合させて既存の構成を変更してしまうことは得策とは言えません。Sonar 2.6からAntによるビルドでもSonarを使用でるようになりましたので、その手順を記述します。
環境
- OS : CentOS 5.5
- Ant : 1.8.2
- Jenkins : 1.406
- Sonar : 2.7
- Tomcat : 7.0.12
- MySQL : 5.1.54
インストール
Jenkins, Tomcat, MySQLのインストール方法は、Maven,Jenkins,Sonarの導入手順#インストールを参照ください。
Ant
入手先 : http://ant.apache.org/
$ tar zxvf apache-ant-1.8.2-bin.tar.gz # mv apache-ant-1.8.2 /usr/local/
Sonar
入手先 : http://www.sonarsource.com/
$ unzip sonar-2.7.zip # mv sonar-2.7 /usr/local/
Sonar Ant Task
入手先 : http://docs.codehaus.org/display/SONAR/Analyse+with+ANT
上記ページからSonar Ant Taskをダウンロードします。
ダウンロードした「sonar-ant-task-1.0.jar」ファイルを「/usr/local/apache-ant-1.8.2/lib/」に移動します。
設定
Jenkins, Sonar, Tomcat, MySQLのインストール方法は、Maven,Jenkins,Sonarの導入手順#設定を参照ください。
その他
「ANT_HOME」の環境変数を設定します。
export ANT_HOME=/usr/local/apache-ant-1.8.2/
JenkinsがAntのコマンドである「ant」を実行するために、「/usr/local/apache-ant-1.8.2/bin/」をPATHに加えます。
起動
起動方法はMaven,Jenkins,Sonarの導入手順#起動を参照ください。
Sonarの品質管理画面を更新
EclipseでJavaプロジェクトを作成し、Sonarの品質管理画面を更新する場合の手順を記述します。Subversionの使用方法はMaven,Jenkins,Sonarの導入手順#Subversionリポジトリを作成するを参考にしてください。
Javaプロジェクトの作成
Javaプロジェクトのルートディレクトリに「build.xml」ファイルを作成します。ファイルの作成例を以下に示します。
<?xml version="1.0" encoding="UTF-8"?>
<project name="sample" default="compile" basedir="." xmlns:sonar="antlib:org.sonar.ant">
<description>Sonarサンプル</description>
<property environment="env" />
<property name="src" location="src"/>
<property name="build" location="bin"/>
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<classpath path="${env.ANT_HOME}/lib/sonar-ant-task-1.0.jar" />
</taskdef>
<target name="init">
<tstamp/>
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init" description="compile the source">
<javac srcdir="${src}" destdir="${build}" encoding="MS932" />
</target>
<target name="sonar" description="analyze project" >
<sonar:sonar workDir="/tmp/sonar/test00" key="com.example.test00:test00" version="0.1">
<property key="sonar.jdbc.url" value="jdbc:mysql://${env.SONAR_HOST_NAME}:3306/sonar?useUnicode=true&characterEncoding=utf8" />
<property key="sonar.jdbc.driverClassName" value="com.mysql.jdbc.Driver" />
<property key="sonar.jdbc.username" value="sonar" />
<property key="sonar.jdbc.password" value="sonar" />
<property key="sonar.host.url" value="http://${env.SONAR_HOST_NAME}:8080/sonar" />
<property key="sonar.sourceEncoding" value="MS932" />
<sources>
<path location="${src}" />
</sources>
<property key="sonar.projectName" value="Sonarサンプル" />
<property key="sonar.dynamicAnalysis" value="false" />
</sonar:sonar>
</target>
<target name="clean" description="clean up" >
<delete dir="${build}"/>
</target>
</project>
今回使用したプロジェクトのエンコードは「UTF-8」でなく「MS932」のため、javacのencoding属性、sonar:sonarのproperty要素に「MS932」の記述を追記しています。
Jenkinsでジョブを設定する
最初に、「Jenkinsの管理」->「システムの設定」からAntの設定を行います。
次に、「新規ジョブ作成」からジョブを作成します。
「ソースコード管理システム」と「ビルド」の項目を変更します。
「ビルド実行」を選択すると、ビルドが開始されます。コンソール出力の最後に「Finished: SUCCESS」と表示されていれば、正常に終了しています。
「http://<ホスト名>:8080/sonar」にアクセスすると、「Sonarサンプル」が追加されています。
更新履歴
- ページ作成 -- 2011年4月16日 (土) 18:54 (JST)