皆さんこんにちは、プログラマーのY.Oです。今回は Jenkins ってなに? 導入したいけどやり方が分からない!という方々に向けて、Jenkinsを起動できる環境を構築して、ジョブを作成・ビルド実行するところまで説明していこうと思います。

 

Jenkinsとは

Jenkins とはソフトウェア開発においてビルド・テスト・デプロイなどを自動化してくれる便利な CI/CD ツールの一つです。フリーでオープンソースのため、多数のプラグインが存在しており拡張性が高いのが特徴です。

Git などの各種バージョン管理ツールとの連携が可能で、Java が入っていれば Linux でも Windows でも様々な環境で動作させることができます。

また、CI/CD というのは、ソフトウェアの変更を常にテストすることで開発スピードやソフトウェアの品質を高める開発手法のことです。継続的インテグレーション(CI)、継続的デリバリー(CD)とも呼ばれます。Jenkins 等のツールによってソフトウェアのテストやデプロイを自動化することによって、問題を即時発見・早期修復が可能となります。

つまりは、人が手動でやると面倒なところを全部Jenkinsに任せて自動化することで楽になるよ、といった具合のツールとなります。

 

環境構築

早速、Jenkinsを起動するための準備をしていきましょう。下に手順を記載していきます。

 

Java のインストール

1.ダウンロード

Jenkins のバージョンとの兼ね合いで Java17 以上が推奨となります。(執筆時点)
下記サイトから「jdk-17.0.12_windows-x64_bin.zip」をダウンロードしてください。

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

 

2.インストール

ダウンロードした JDK を解凍して中身のファイル群(bin, conf, include…)を任意のフォルダに入れてください。今回は「C:\java」とします。
Windows の環境変数の Path に「C:\java\bin」のパスを追加してください。

 

3.確認

コマンドプロンプトを起動して「java -version」と入力してください。「17.0.12」とバージョンが表示されれば問題ありません。

 
 

Jenkins のインストール

1.ダウンロード

インストーラーを用いるなど、いくつか Jenkins を導入する方法がありますが、今回は war ファイルを使用して Jenkins を直接起動することにします
下記サイトから「Download Jenkins **** LTS for:」と記載されている下にある「Generic Java package (.war)」をダウンロードしてください。
https://www.jenkins.io/download/
 

2.インストール

ダウンロードした war ファイルを任意のフォルダに入れてください。今回は「C:¥jenkins」とします。

 

3.起動

下記のような2つのbatファイルを作成して「C:¥jenkins」に入れてください。


@echo off
 
@rem ホームの設定(デフォルトだとユーザーフォルダ以下に配置される)
set JENKINS_HOME=C:\jenkins\.jenkins
 
@rem ポート8080を指定してwarを実行する
java -jar jenkins.war --httpPort=8080

@rem Jenkinsのページを開く
start /b "" http://localhost:8080

launch.bat を実行するとコマンドプロンプトが起動してログが流れます。異常終了することなくログが止まれば正常に動作しています。初回起動時の場合は途中で Warning が出ているかもしれませんが問題ありません。open_browser.bat を実行すれば Jenkins のページが開きます。

今後は launch.bat → open_browser.bat を実行して起動することになります。ブラウザの方はブックマークして直接開いても構いません。 → http://localhost:8080

 

4.初期設定

  1. 赤文字のパスのファイルに記載されているパスワードを入力してください。

  2. 左の「Install suggested plugins」を押下してインストールが終わるまで待ってください。

  3. 各項目を入力してください。skipしても問題ありません。(skipした場合は一番初めに入れたパスワードがそのままパスワードになります)

  4. 変更する必要は無いため、そのまま「Save and Finish」を押下してください。

  5. 「Start using Jenkins」を押下してください。

  6. 初期設定完了です。これが Jenkins の管理画面となります。

 

ジョブの作成

ジョブとは Jenkins 上で扱われる作業単位のことです。色々なジョブを作ってそれを組み合わせることで自動化を実現させます。文章だけだとよくわからないので、早速ジョブを作成してみましょう。左上の「新規ジョブ作成」を押下してください。


 
新規ジョブ作成画面が出てきました。適当なジョブ名を付けて、今回は「フリースタイル・プロジェクトのビルド」を選択してみましょう。


 
これがジョブの設定をする画面となります。色々と項目があるのですが、今回は無視して下の方にスクロールしてください。


 
Build Stepsという項目があるかと思いますので、そこから「Windowsバッチコマンドの実行」を選んでください。


 
スクリプトを書く欄が出てきたので「echo “Hello, Jenkins.”」と書いてみます。その後、左下の「保存」を押下してください。


これでビルド実行したときに「Hello, Jenkins.」と出力するジョブが作成できました。

 

ビルドの実行

では次にビルドを実行してみましょう。画面左にある「ビルド実行」を押下してください。


少し待てば左下に履歴が出てくるかと思います。「#1」からさらに「コンソール出力」を押下して詳細を見てみましょう。



「Hello, Jenkins.」と表示されていることが分かるかと思います。


このようにビルド実行することでジョブを動かすことができました。今回は文字列を出力するだけでしたが、ジョブを編集することによって、例えば「Gitの更新を検知して、それをトリガーに自動でビルド実行してコードをチェックする」というようなものを作ることができます。これはジョブ1つにまとめることもできますし、複数ジョブに分けることもできます。

 

最後に

いかがだったでしょうか。今回は Jenkins を導入してジョブを作成・ビルド実行するところまでを解説させていただきました。

実際にプロジェクトで運用する場合は、Jenkins本体が入ったマシンを1台用意して、さらに他にジョブ実行用のマシンを複数用意して稼働させていくことになるかと思います(コントローラ/エージェントの関係と呼ばれます)。Jenkins の勉強やテストをする際には、今回紹介した方法のように1台だけ用意するのでも十分かと思います。

円滑にプロジェクトを進めるためにとても有用なツールなので、是非皆さんも Jenkins を利用してみてください。

 

著者紹介 Y.O
2018年にトイロジックに新卒入社。プログラマーとして複数のアクション系プロジェクトに携わる。主にUI、メニューなどを担当。

トイロジックでは現在、一緒に働くプログラマーを募集しています。

不明点などもお気軽にお問い合わせくださいフルリモート採用も行っております、ご応募お待ちしております!
 

Jenkins logo variation” by Jenkins Community is licensed under CC BY-SA 3.0.
Source: Jenkins.io

Modified “Jenkins logo variation” by Jenkins Community is licensed under CC BY-SA 3.0.
Original source: Jenkins.io