【Jenkinsに入門してみた】ビルドの設定と実行
投稿日: / 更新日:
この記事は2年以上前に書かれたものです。情報が古い可能性があります。
前回までで、JenkinsからGitリポジトリにアクセスできるようになりました。今回は、いよいよJenkinsのビルドジョブを登録し、Jenkinsでビルドを行ってみます。
1.ビルドの設定と実行
Jenkinsの管理画面で、前回作成した”hello_job”の設定画面を開きます。下の方にある「ビルド・トリガ」セクションで、”SCMをポーリング”にチェックを入れます。「スケジュール」というテキストボックスが表示されたら、そこにポーリングの設定を入力します。今回は、5分毎にリポジトリの更新を確認する設定にしています。
次に、「ビルド」セクションで、”ビルド手順の追加”->”シェルの実行”をクリックします。シェルスクリプトを記述するテキストボックスが表示されたら、Javaプログラムをビルド(というかコンパイル)するためのコマンドを入力します。今回は、説明を簡単にするためにjavac
コマンドをベタ書きしています。通常は、”シェルの実行”ではなく”Antの呼び出し”や”Mavenの呼び出し”等、もっと大規模なプロジェクトに対応した設定を行います。
画面下の”保存”をクリックしたら、ビルドジョブの設定は完了です。
それでは、実際にJenkinsからビルドを行ってみましょう。端末でサーバへログインし、ローカルリポジトリでソースコードを修正して、コミットおよびリモートリポジトリへのpushを行います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# cd hello/ # vi Hello.java public class Hello { public static void main(String args[]) { System.out.println("Hello, World!"); ※メッセージを書き換える } } # git commit -a [master 0abffd2] modified message 1 file changed, 1 insertion(+), 1 deletion(-) # git push origin master Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 278 bytes | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To /var/lib/git/testrepo 847991a..0abffd2 master -> master |
Jenkinsの管理画面(ダッシュボード)に戻り、少し待ってから、ブラウザ上でページをリロードすると、ビルドの結果が表示されます。今回はビルド成功です(なお、今回は事前に一度ビルドを試したため、連番が#2になっています)。
ビルドによって出来上がったオブジェクトファイルは、Jenkinsのワークスペース内に保存されます。サーバ上では、”/var/lib/jenkins/workspace/ジョブ名”にあります。
1 2 3 4 5 6 7 8 |
# cd /var/lib/jenkins/workspace/hello_job # ls -aFl 合計 8 drwxr-xr-x 3 jenkins jenkins 52 6月 17 14:42 ./ drwxr-xr-x 4 jenkins jenkins 42 6月 17 12:54 ../ drwxr-xr-x 8 jenkins jenkins 151 6月 17 14:42 .git/ -rw-r--r-- 1 jenkins jenkins 417 6月 17 14:42 Hello.class -rw-r--r-- 1 jenkins jenkins 119 6月 17 14:42 Hello.java |
念のため、プログラムが正常に実行できるか確認してみます。
1 2 |
# java Hello Hello, World! |
正常に実行できました。
2.ビルドの失敗例
今度は、わざとビルドに失敗するようにソースコードを修正してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# cd /root/hello/ # vi Hello.java public class Hello { public static void main(String args[]) { System.out.println("Hello, World!") ※行末の";"を削除 } } # git commit -a [master ef59592] syntax error included 1 file changed, 1 insertion(+), 1 deletion(-) # git push origin master Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 271 bytes | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To /var/lib/git/testrepo 3e38c3f..ef59592 master -> master |
再びJenkinsの管理画面(ダッシュボード)に戻り、少し待ってから、ブラウザ上でページをリロードすると、ビルドの結果が表示されます。今回は、予想どおりですがビルド失敗です。
「コンソール出力」をクリックすると、ビルド時の詳細なメッセージが確認できます。
以上で、ビルドジョブの設定と動作確認ができました。次回は、ビルド結果の通知方法について調べてみたいと思います。