継続的インテグレーションツール『Jenkins』を触ってみた

  • 2017年8月4日
  • by 
継続的インテグレーションツール『Jenkins』を触ってみた

こんにちは。M.Sです。
現在、『Jenkins』からSeleniumを実行するお題に取り組んでいます。

『Jenkins』ってなに? 身近な継続的インテグレーションとは

『Jenkins』はjavaで実装されたオープンソースで、継続的インテグレーションツールと言われています。
英語でContinuous(継続した)、Integration(結合)で、CIと略されているようです。

そして、インテグレーションとは、以下のような意味を持ちます。

統合、統一、融合、一体化、集積などの意味を持つ英単語。
複数の異なる要素を組み合わせて一つにしたり、一体として機能するよう調整すること。
<参照:e-Words『インテグレーション【integration】』>

インテグレーションの意味を踏まえて、身近な継続的インテグレーションを探してみました。
(ちょっとざっくりとしていますがご容赦ください)

  • 申し込む → 自動返信メールを送る
  • 服をデザインする → 生産する → 販売する
  • 原稿を書く → bitWave編集部に渡す → 公開する

このように継続的インテグレーションを身近な例に置き換えてみると、少しは分かりやすくなるのではないでしょうか。

開発における継続的インテグレーション

通常、一度開発したサービスはリリース後も新機能追加や機能のバージョンアップを行うため、継続的に以下を繰り返し行うことになります。

  • 要件定義
  • 開発
  • テスト
  • アップデート前告知
  • アップデート
  • アップデート後告知

これらを補助するためのツールが『Jenkins』になります。
具体的には自動化できるところは自動化し、素早くアップデートまで行おうというものです。

開発完了後にテスト(Selenium)を行い、問題なければアップデート、といった一連の流れを自動化する仕組みとして『Jenkins』が使われることが多いようです。

さっそく『Jenkins』を試してみよう

手順1:『Jenkins』をインストールをしよう

まずはソフトウェアをインストールします。
(※『Jenkins』は「java」で実装されています。そもそも「java」がパソコンにインストールされていない場合は、事前に「java」をインストールする必要があります)

なお、インストール手順は以下のサイトが分かりやすいので、ぜひご参考ください。
<参照:ICS MEDIA『JenkinsでCI環境構築チュートリアル (Windows編)/ソフトウェアのインストール』>

手順2:『Jenkins』で「ジョブ」を作成しよう

インストールが完了したら、ココ(http://localhost:8080/)にアクセスしてみましょう。
“『Jenkins』へようこそ!” という画面が表示されるかと思います。

それではさっそくカンタンな「ジョブ」を作成してみます。
ちなみに「ジョブ」とは『Jenkins』で実行させる動作で、「ジョブ」という単位で処理を管理しています。
「ジョブ」作成の手順については、以下のページで分かりやすく説明してくれています。が分かりやすいです。
<参照:ICS MEDIA『JenkinsでCI環境構築チュートリアル (Windows編)/ジョブの作成

手順3:ビルドを実行しよう

上記サイトの手順に倣い、“Hello World” を出力する「ジョブ」を作成し、作成した「ジョブ」のプロジェクト画面左サイドのメニュー [ビルド実行] をクリック。
するとビルドが実行されます。

ビルド実行すると、自動でビルド履歴が反映されます。
プロジェクト画面左サイドのメニューの下にある [ビルド履歴] から、今実行したばかりのビルドのナンバーをマウスオーバー、そこで表示される [▼] マークをクリックし、[コンソール出力]をクリックしましょう。

すると「指定されたファイルが存在しない(Finished: FAILURE)」というエラーが……。
つまり「ジョブ」が失敗してしまったようですね。。。

調査してみたところ、以下のような仕様があるようです。

「GitBash」を導入している場合は、シェルを実行する「exe」のパスが通らなくなる。
Git配下の「sh.exe」をシェルのパスとして、『Jenkins』にパスを通すことで改善される。
<参照:Coffee Breakにプログラミング備忘録『java.io.IOException: Cannot run program “sh”エラーの対応をメモ』>

なんと「GitBash」を使用しているので起きていたようです。
上記の仕様を鑑み、以下を実行することにしました。

管理画面のダッシュボードに戻り、画面の左サイドメニュー [Jenkinsの管理] をクリック。

続いて [システムの設定] を選択。

項目「シェル」内のシェル実行ファイルに “C:\Users\username\AppData\Local\Programs\Git\bin\sh.exe(※)” を入力し、保存をクリック。(※Gitのsh.exeのパスはご自身の環境に合わせてください)

それでは気を取り直し、改めてビルド実行してから、コンソール出力をクリックしてみましょう。
「Finished: SUCCESS」となっていれば、無事にジョブが完了できているハズ。

うまくいきましたね!

画面左上の『Jenkins』のロゴをクリックして、管理画面のダッシュボードへ戻ってみます。

「青丸」が表示されていれば成功、「赤丸」の場合は失敗を意味しています。
また、お天気アイコンでも「ジョブ」の状況を表しています。

最初は失敗していたので「大雨」表示でした。
しかし「ジョブ」成功の頻度が上がるたびに、「小雨」から「曇り」になり、そして念願の「晴れ」マークに!!

今回は『Jenkins』でカンタンな「ジョブ」を実行するところまでご紹介いたしました。

次回以降は、Seleniumでの実行にあたって調査を進めて行く過程で、気になったことや便利な機能をご紹介できればと思っています。

コメント