本ページではGitとJenkins及びRedmineとの連携した自動ビルドをサンプルを使用した動作確認方法について説明します。
1. サンプルコードの作成
2. リモートリポジトリの作成とhooksへのファイル追加
3. Jenkisの新規ジョブの作成とジョブの設定
4. Gitのプッシュによる自動ビルド
上記画面が開いたら、「プロジェクト名」に「test1」と入力して下さい。
次に「プロジェクトレイアウト」を「プロジェクトフォルダーをソース及びクラスファイルのルートとして使用」にラジオボタンを選択して下さい。
上記設定が完了したら「次へ」ボタンを押下して下さい。
上記の画面が表示されたらパッケージ名に「sample」と入力して下さい。
次に「名前」には「Main」と入力して下さい。
次にメソッド・スタブについては上記画像のように選択して下さい。
全ての設定が完了したら、「完了」ボタンを押下して下さい。
「Main.java」が作成されたらmain(String[] args)の中身を以下のように編集します。
public static void main(String[] args) { System.out.println("test1"); }
作成された「build.xml」ファイルを以下のように編集します。
<?xml version="1.0" encoding="UTF-8" ?> <project name="AutoBuildSample" default="all" basedir="."> <description> 自動ビルドのサンプル </description> <!-- Mainのビルドとjarファイルの作成に必要な情報 --> <property name="src" location="main"/> <property name="build" location="build"/> <property name="dist" location="dist"/> <!-- ========================================================== --> <!-- Antタスク実行順序 --> <!-- ========================================================== --> <target name="all"> <antcall target="init"/> <antcall target="compile"/> <antcall target="dist"/> <antcall target="delete"/> </target> <target name="init"> <mkdir dir="${build}"/> </target> <target name="compile" description="compile the source " > <!-- Mainをビルドし、buildフォルダに出力 --> <javac srcdir="${src}" destdir="${build}" debug="true" includeAntRuntime="no"/> </target> <target name="dist" description="generate the distribution" > <!-- Create the time stamp --> <tstamp/> <!-- jarファイルの出力先ディレクトリを作成 --> <mkdir dir="${dist}"/> <!-- sample-yyyymmdd.jarという名前でjarファイルを作成 --> <jar jarfile="${dist}/sample-${DSTAMP}.jar" basedir="${build}"> <manifest> <attribute name="Main-Class" value="sample.Main" /> </manifest> </jar> </target> <target name="delete" description="delete mkdir" > <delete includeEmptyDirs="true" > <fileset dir="${build}" /> <fileset dir="${dist}" /> </delete> </target> </project>
build.xmlとはAntを使用する時に必要となるファイルで、Antの動作情報を記載した設定ファイルになります。
Antはこの設定ファイルから、javacの実行やjarファイルの作成などを行います。
以下にビルド処理を記載したbuild.xmlの大まかな説明をします。
line 1: xmlの宣言です。文字エンコーディングを"UTF-8"に設定しています。
line 2: build.xmlのプロジェクトを規定します。build.xmlに必ず1つだけ存在します。
この中のdefaultの記載については必須でターゲット名を指定します。このコードの場合はline14のターゲット名のallを指定しています。
line 7〜9: ここではビルドで必要情報を指定しています。ここではディレクトリ情報を設定しています。
line 14〜19: ターゲットを記載しています。ここではAntビルド時の動作の順序を記載しています。line15〜18では呼び出す処理をターゲット名で指定しています。
line 21〜23: 初期処理としてビルド用のディレクトリを作成しています。
line 25〜28: コンパイル処理を実施しています。
line 30〜41: jarファイルの作成を実施しています。
line 43〜48: 作成したディレクトリをファイル毎削除しています。
まず今回のファイルをプッシュするためのリモートリポジトリを作成して下さい。
今回はリモートリポジトリフォルダを「test1.git」として下さい。
※作成方法についてはGitの設定方法を参照下さい。
次に作成したリモートリポジトリの中に「hooks」フォルダがあります。
「hooks」フォルダを開いて下さい。
作成が完了したら、ファイルをエディタで開いて下さい。
ファイルの内容を以下のように編集します。
#!/c/Program Files/Git/bin/sh curl "http://localhost:8080/job/test1/build?delay=0" if [ "$?" -eq 0 ]; then echo "Jenkins build run." else echo "Jenkins build failed." fi
Jenkinsに新規のジョブを作成します。
Jenkinsを開いて「新規ジョブ作成」を押下して下さい。
上記画面が表示されます。
「ジョブ名」には「test1」と記載して下さい。
ラジオボタンは「フリースタイル・プロジェクトのビルド」を選択して下さい。
上記の設定が終わったら「OK」ボタンを押下して下さい。
※ジョブ名は「post-receive」の編集内容「curl "http://localhost:8080/job/test1/build?delay=0"」のjobの後のディレクトリ名と同一である必要があります。
Antの呼び出し」の「ターゲット」には「all」を指定して下さい
ここまで設定が完了したら「保存」ボタンを押下して下さい。
※これは「build.xml」の「<project name="AutoBuildSample" default="all" basedir=".">」で指定した「default」に指定したものを指定して下さい。
今回作成したEclipseで作成したプロジェクトフォルダを「ローカルリポジトリ」にして下さい。
今回作成した「Main.java」及び「build.xml」ファイルを追加して下さい。
※上記詳しい設定方法についてはGitの設定方法を参照下さい。
次に「ローカルリポジトリ」から「プッシュ」するための「リモートリポジトリ」の設定を行って下さい。
今回設定する「リモート」は「test1,git」です。
※上記詳しい設定方法についてはGitの設定方法を参照下さい。
「ローカルリポジトリ」から「リモートリポジトリ」へ「OK」ボタンを押下して「プッシュ」を実行して下さい。
※「プッシュ」のやり方についてはGitの設定方法を参照下さい。
以上で、自動ビルド2 サンプル動作確認は完了しました。
お疲れ様でした。