アプリ開発やサイト制作のスマホ端末実機検証・テスト-Remote TestKit

Jenkinsチュートリアル初級編

継続的インテグレーション(CI:Continuous Integration)を強力にサポートするツール 「Jenkins」 の機能や操作方法について解説していきます。今回は導入から簡単なジョブを実行するまでの初級編です。

はじめに

本記事 「Jenkinsチュートリアル」 では、継続的インテグレーション(CI:Continuous Integration)を強力にサポートするツール 「Jenkins」 の機能や、特に操作方法に焦点を当てて、その使用方法について解説していきます。

今回の初級編では、Jenkins に全く触れたことのない方向けに Jenkins を入手する所から、ジョブの作成、実行、結果の確認までを、一通り紹介します。Jenkins の基礎・基本となる必要最低限の使い方の説明に留めるため、応用や、より高度な活用方法については中級編以降をお待ち下さい。

Jenkinsについて

Jenkins は CI ツールのひとつです。”CI”や”CI ツール”についての説明は「継続的インテグレーション入門」の記事を参照して下さい。

現在、Jenkins は数ある CI ツールの中でもっとも高いシェアを誇るオープンソースソフトウェアであり、今日でも多くの有志の開発者によってコミットがなされています。Jenkins の特徴の一つが、非常に簡単に導入・使用することができる、ということです。また、Jenkins にはプラグインにより機能を拡張できる仕組みがあり、これも有志の開発者により新しい拡張機能が続々と登場しています。 Jenkins は Java で作成されており、Java実行環境がインストールされていればどんな OS でも動作します。まだ Java実行環境をお持ちでない方は先に導入しておきましょう。Java実行環境は こちら のリンク先からダウンロードすることができます。

それでは、実際に Jenkins を導入し、動かしていきましょう。

Jenkinsの導入

Jenkins は 公式の Web site から入手することができます。インストールや起動の仕方にはいくつかの方法があります。ここでは、一番簡単と思われる方法を紹介します。公式のサイトを開き、画面右側にある ”Latest and greatest” というリンクをクリックしましょう(下記画像参照)。保存場所はどこでも大丈夫です。

Jenkinsのダウンロード

ファイルを保存したら、Jenkins を起動させます。Windows環境なら、コマンドプロンプトや cygwin などを立ち上げて、Linux などの環境ならターミナルを起動して下さい。下記のように jenkins.war を保存した場所へ移動し、次に ”java -jar jenkins.war” というコマンドを入力します。

例: jenkins.war を C:\ci\jenkins に保存した場合

c:\>cd c:\ci\jenkins [return]
c:\ci\jenkins>java -jar jenkins.war [return]

これで、Jenkins を使用する準備ができました。Webブラウザから ”http://localhost:8080” にアクセスすると、Jenkins が立ち上がっていることを確認できます(下記画像参照)。 もし立ち上がっていない場合は、次のことを確認して下さい。

  • Java実行環境が入っていること
  • コマンドを実行した場所に jenkins.war が保存されていること
  • Jenkins はデフォルトで 8080 のポートを使用します。他のソフトやサービスで 8080 ポートを使用していないか確認して下さい。Jenkins のポートは、実行時のポート指定(java -jar jenkins.war –httpPort=《任意のポート》)で変更することができます。
  • 上記以外の場合は、コマンド実行時の出力内容を確認して下さい。
Jenkinsトップページ

今回は一番簡単な導入方法の紹介をしましたが、Jenkins には native package があります。この native package を利用すれば、例えば Windows なら Windows のサービスとして Jenkins を自動起動することが可能です。若干インストール方法が異なりますが、Ubuntu や Mac OS など、それぞれの環境についても用意されています。native package は、先述した jenkins.war のリンク下にあります。Jenkins をサービスとして使用したい場合には、こちらを検討してみて下さい。

ジョブの作成

Jenkins の導入が完了したら、ジョブを作成しましょう。ジョブ(プロジェクト)とは、Jenkins で実行させたい一連の処理を作成する単位です。ジョブに設定した内容を、Jenkins が実行してくれます。

まずは Jenkins を立ち上げたトップページ(下記画像参照)の画面左側にあるメニューから、 [新規ジョブ作成] を選択して下さい。新規ジョブの作成画面に移動します。このページでは、ジョブ名の設定とジョブの種類を選択します。

ジョブの名前は任意です。ここでは”test_job_01” とします。ジョブの種類は [フリースタイル・プロジェクトのビルド] を選択します。多くの場合は、この種類のジョブが選択されると思います。その他の種類については今回は扱いません。選択したら、[OK] をクリックして下さい。

Jenkins新規ジョブ作成

するとジョブの設定画面に移動します(下記画像参照)。

このジョブの設定画面では非常に多くのことを設定できるため、慣れるまでは混乱してしまうかもしれませんが、必要なことから順番に覚えていくようにしましょう。本記事では、まず最小限の設定で始めていきます。

Jenkinsジョブ設定定義

設定画面の中ほどに、[ビルド] という欄があります。そこにある [ビルド手順の追加] ボタンをクリックしてみると、[Ant の呼び出し] や [Maven の呼び出し] といった項目が表れます。ここでは [シェルの実行] を選択します。※お使いの環境にシェル環境がない場合は表示されない場合があります。

[シェルの実行] を選択するとシェルスクリプトを記述するスペースが出現するので、ここに、このジョブで実行したいことを記述します。今は例として、以下のように記述してみます。

echo "Hello jenkins!"

設定が終わったら、画面下に表示されている [保存] ボタンをクリックして下さい。以上でジョブの作成と設定が終わりました。

実行

ジョブの作成が終わったら実行してみましょう。実行をするには、実行したいジョブをクリックし、ジョブページの左側メニューにある [ビルド実行] のリンクをクリックします(下記画像参照)。Jenkins トップページから、各ジョブの右側に表示されているビルド実行のアイコンからでも実施することができます。

Jenkinsジョブの実行

※今回の初級編では扱いませんが、ある時間になったら自動でジョブを開始したり、ソースコードのレポジトリに変更がコミットされたらジョブを開始する、といったことも可能です。

結果の確認

各ビルド実行の履歴は、ジョブページ左下にある [ビルド履歴] から確認することができます。成功していれば青色、失敗していれば赤色のアイコンが表示されます。設定によっては「不安定」を示す黄色のアイコンが表示されることもあります。また、トップページには、色アイコンの他に太陽や雲のアイコンも表示されていると思います。これは直近過去 5回のビルド結果によって変わります。過去 5回全て成功(SUCCESS)の場合は晴れ、そこから失敗の回数が増えていく毎に天気が悪くなっていきます。Jenkins のそのジョブが、現在どのような状況にあるのか確認するのに役立つでしょう。

それでは、先ほど実行した結果の詳細を確認しましょう。トップページから ”test_job_01” を選択し、[ビルド履歴] の #1 を選択します。ここが、ビルド実行をした結果のサマリーの画面になります。実行した時間や、誰が実行したか(※)、などの情報が表示されます。

※今回は設定していませんが Jenkins ではアカウントを作成することができ、アカウントごとに任意のジョブに制限をかけたり、記録を取ることができます。

ビルド結果画面の左側にある [コンソール出力] から、実際にどのような動作がされたのかを確認することができます(下記画像参照)。ジョブ設定で記述した「echo “Hello jenkins!”」 が出力されていることが確認できます。

Jenkinsコンソール出力結果

おわりに

これで、Jenkins の導入からジョブの設定、実行、結果の確認まで、一通りの作業が終わりました。ただし、今回紹介できたのは Jenkins の機能のほんのごく一部に過ぎません。Jenkins には他にも非常に多彩な機能が存在しているので、次回以降、どんどん紹介していきたいと思います。

執筆者プロフィール  藤原 洋平

組み込み系のIT企業に勤務。複数の社内案件に品質保証担当者として参加。主にテストやシステム自体の自動化、ビルド、デプロイ等の環境構築を通じてプロジェクトに貢献。さまざまなコミュニティにて勉強の毎日。