Jenkins(ジェンキンス)というツールを聞いたことはありますか?
知っている方の中にも、
・Jenkinsの使い方がいまいち分からない….。
・Jenkinsをどのようにプロジェクトに導入すればいいのか悩んでいる…。
という疑問を抱えている方も少なくないでしょう。
この記事では、
・Jenkinsの基本的な概要と動作環境
・Jenkinsのインストール方法と初期設定
について、わかりやすく解説します。
MacOSでのHomebrewを使ったインストール方法に焦点を当て、Jenkinsをスムーズに導入し、効率的な開発環境を構築するための方法をご紹介します。
INDEX
Jenkinsとは?
Jenkinsは、Javaで開発されたオープンソースのCIツールです。
CIとは、継続的インテグレーションともよばれ、ソフトウェアの開発でテストを頻繁に行うことで問題の早期発見や開発の効率化を図る手法で、Jenkinsはこういった作業を自動化するためのツールです。
後ほど詳しく説明しますが、Jenkinsは、 継続的インテグレーション (CI)や継続的デリバリー(CD)、および継続的デプロイメントを実現でき、ソフトウェアのリリーススピードを向上させ、開発プロセスを自動化し、開発コストを削減することを目的としています。
Jenkinsは、Linux Foundationによって管理されており、その汎用性の高さから広く支持されています。既に170万人以上のユーザーが導入しており、1,800以上のプラグインが利用可能です。(2023年12月現在)
Javaが動作する環境であれば、LinuxやWindowsでの動作が可能であり、DockerやKubernetes上での動作もサポートされています。ビルド、デプロイ、テストなどの作業を自動化し、効率化を支援するツールとして活躍しています。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >Jenkinsを利用する目的
ここでは、Jenkinsを利用する目的に関して解説します。
利用目的を正しく理解し、普段の業務にどのように活かせるかをイメージしながら、導入するかどうかを検討してみて下さい。
継続的インテグレーション(CI)の実現
Jenkinsは、継続的インテグレーション(CI)を実現するための強力なツールです。CIは、先述でも説明しましたが、開発者が新しいコードを頻繁にマスターブランチに統合するプロセスを指し、これにより、変更量が多くなる前に問題を発見しやすくなります。
Jenkinsを使用することで、自動化されたテストを通じて、問題発見のオーバーヘッド(処理にかかる時間や費用)を減らすことができます。
継続的デリバリー(CD)のサポート
Jenkinsは継続的デリバリー(CD)をサポートし、CIプロセスを拡張して、より高レベルの結合とテストを自動的に行います。これにより、新しい変更がいつでもリリース可能であることを保証してくれます。
CDプロセスには、ソフトウェアのパッケージング、テスト環境へのデプロイ、機能要件の確認などが含まれる点も考慮しておきましょう。
開発プロセスの効率化
Jenkinsを使用すると、ビルドプロセスやリリースプロセスを自動化することができます。これにより、手動でのミスや操作のばらつきを減らし、開発プロセス全体の効率を向上します。
また、Jenkinsの分散ビルド機能により、ビルドの実行を複数のエージェントに割り振ることができ、プロセスの迅速化を図れます。
品質管理の強化
CI/CDを通じて、Jenkinsはソフトウェアの品質管理を強化します。
頻繁なビルドとテストにより、エラーが早期に発見され、修正が迅速に行われるため、ソフトウェアの品質が継続的に向上します。加えて、リリーススピードの向上にも繋がるでしょう。
チーム間の透明性とコミュニケーションの向上
Jenkinsは、ビルドプロセスの各フェーズをシームレスに連携させ、結果を即座に通知することで、チーム間の透明性を高めます。これにより、開発チーム間のコミュニケーションが向上し、より効率的な協力が可能になります。
カスタマイズが行いやすく、拡張性が高い
Jenkinsはオープンソースであり、1,800以上のプラグインが利用可能です。そのため、開発環境やワークフローに合わせてカスタマイズが容易になります。
また、自分でプラグインを開発することも可能で、Jenkinsの機能を拡張し、特定のニーズに合わせたカスタマイズを行えます。
Jenkinsの役割
Jenkinsは、継続的インテグレーション(CI)、継続的デリバリー(CD)、継続的デプロイメントを実現するための重要なツールであることをお伝えしてきました。ここでは、Jenkinsの主な役割を初心者にも分かりやすく解説します。
自動ビルドの実行
Jenkinsは、ソースコードに変更があるたびに自動的にビルドを実行します。
自動ビルド機能により、開発者はコード変更後すぐに結果を確認でき、迅速な修正や改善が可能です。
その結果、開発プロセスが迅速化され、ソフトウェアのリリーススピードが向上します。
ビルドプロセスの自動化は、繰り返しの手作業を削減し、開発者がより創造的な作業に集中できるようにします。
自動テストの実行
コード変更後、Jenkinsは自動的にテストを実行し、品質を維持します。
自動テスト機能により、新しいコードが既存の機能に影響を与えていないかを確認できます。その結果、バグや問題が早期に発見され、修正が容易になるでしょう。
自動テストは、品質保証のプロセスを強化し、信頼性の高いソフトウェアの提供に寄与します。
手動デプロイメントプロセスの排除
Jenkinsは、手動でのデプロイメントプロセスを排除し、一貫性と効率性を向上させます。この機能により、デプロイメントプロセスが自動化され、人的ミスのリスクが減少するでしょう。
また、一貫したデプロイメントプロセスにより、プロジェクトの透明性が向上し、チーム間のコミュニケーションがスムーズになります。
開発者への即時フィードバック
Jenkinsは開発者に即時フィードバックを提供し、迅速な対応を可能にします。
ビルドやテストの結果はすぐに開発者に通知され、問題の早期解決が可能です。その結果、開発サイクルが短縮され、生産性が向上します。
また、即時フィードバックは、開発者が自身の作業に対する直接的な影響を理解し、より効果的な意思決定を行うのに役立つでしょう。
Jenkinsの動作環境
Jenkinsは、継続的インテグレーション(CI)、継続的デリバリー(CD)、継続的デプロイメントを実現するための多機能ツールです。
このツールは、Javaランタイム環境(JRE)上で動作し、そのためには特定のバージョンのJavaが必要です。たとえば、Java 8やJava 11が一般的に使用されます。
JenkinsはLinux、Windows、macOSなどの主要なオペレーティングシステムに対応しており、幅広い環境で利用可能です。
また、安定したネットワーク接続が必要とされ、JenkinsのWebインターフェースは主要なブラウザ、たとえばChrome、Firefox、Safariなどでアクセス可能です。
異なるプラットフォームやブラウザを使用するユーザーでも、Jenkinsを効率的に活用することができます。
対応するオペレーティングシステム | Linux Windows macOS |
必要なJavaバージョン | Java 8 Java 11 |
Webインターフェースのアクセスに対応するブラウザ | Chrome Firefox Safari |
JenkinsをWindowsにインストールする方法
ここからWindowsにインストールする方法を分かりやすく解説します。
WindowsでJenkinsをインストール場合はJavaが必要な為、インストールしていない方はあらかじめ以下のページよりJavaをインストールしてください。
https://www.java.com/ja/download/ie_manual.jsp
インストーラーをダウンロードする
JenkinsをWindowsへのインストール場合は。Jenkinsのページからインストール(jenkins.msi)をダウンロードし、インストーラーの画面に沿って進めればインストールすることができます。
ダウンロードページでは「Windows」を選択
インストーラーに従ってインストールを行う
ダウンロードしたインストーラー(jenkins.msi)を起動し画面に沿って進めていきます。
インストーラーが起動したら右下の「Next」をクリック
フォルダを指定して「Next」をクリック
ローカルでJenkinsを使用する場合は「Run Service as LocalSystem」にチェックをいれて「Next」をクリック
ポート番号を設定(デフォルトで8080が入力されています)し、「Test Port」をクリック。正常にテストが完了したら「Next」をクリック
Javaのフォルダを選択し「Next」をクリック
「Nextをクリック」
これまでの設定で問題なければ「Install」をクリックするとインストールが開始されます。
インストールが完了すると上記の画面に切り替わるので「Finish」をクリック
Jenkinsの初期設定画面が表示されるので初期パスワードを入力。
初期設定画面が自動で立ち上がらなければ直接「http://localhost:8080/」にアクセスしてください。
初期パスワードは、Cドライブに作られたJenkinsフォルダ内の「secrets」の下にある「initialAdminPassword」ファイルに記載されているのでメモ帳などで開き、中に書いてある文字列を初期設定画面に入力します。
カスタマイズ画面に切り替わったら、install suggested plufins(推奨プラグインをインストール)をクリック。
ユーザ情報を入力し管理者を作成します。
ローカルのURLを設定します。デフォルトは「http://localhost:8080/」が入力されいるので、特に指定がなければそのまま「Save and Finish」をクリックしてください。
Jenkinsのインストールが完了しました。
画面内の「Start using Jenkins」をクリックするとJenkinsが表示されます。
JenkinsをMacOSにインストールする方法
MacOSにJenkinsをインストール場合、手順が異なりますので、ここからは、MacOSにインストールする方法をわかりやすく解説します。
HomebrewをMacOSにインストールする
MacOSでJenkinsをインストールする際、一般的なパッケージマネージャーとして「Homebrew」の使用が推奨されます。
Homebrewのインストールは簡単で、公式ホームページからインストール用のスクリプトをコピーし、MacOSの「ターミナル.app」を使用して実行して下さい。
1 |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
インストールは、MacOSの「Finder」から「アプリケーション」フォルダ、次に「ユーティリティ」フォルダを開き、「ターミナル.app」を起動することで行えます。
Jenkinsをインストールする
Homebrewがインストールされたら、次はJenkinsのインストールです。
インストールは、ターミナルで簡単なコマンド「brew install jenkins」を実行することで行えます。
1 |
brew install jenkins |
Homebrewを通じてJenkinsの最新バージョンをダウンロードし、MacOSにインストールします。
最後に、ご自身のMacPCの名前が出ていればインストール完了です。
Jenkinsを起動させログインする
Jenkinsのインストールが完了すると、ターミナル上で「brew services start jenkins」のコマンドを実行することでJenkinsを起動できます。
1 |
brew services start jenkins |
コード実行後、上記のコードが表示されれば起動完了です。
起動後は、ブラウザを通してJenkinsにアクセスすると「Unlock Jenkins」という画面が表示され、ここでAdministrator password(管理者パスワード)の入力が求められます。
パスワードは、インストールプロセス中にターミナルに表示されるため、注意深く確認しておく必要があります。
Jenkinsを導入して工数の短縮などに役立てよう!
この記事では、Jenkinsの基本からインストール方法までを簡潔に説明しました。
Jenkinsは、ソフトウェア開発の自動化を支援するツールで、工数の短縮や品質向上に大いに役立つでしょう。Linux、Windows、macOSに対応し、Java環境で動作します。MacOSでは、Homebrewを使って簡単にインストール可能です。
Jenkinsの導入は、開発者やプロジェクトマネージャーにとって、プロジェクトの効率化や新しいスキル習得に非常に有益です。Jenkinsを使うことで、開発プロセスがスムーズになり、より良い成果物を生み出すことができるでしょう。
Jenkinsについてより詳しく知りたい方には、下記の講座がおすすめです。
AWSで学ぶ!JenkinsによるCI/CDパイプライン入門講座
DevOpsの大本命!Jenkins(on Amazon EC2)とGitHub、Amazon S3連携による、Webページのテスト、デプロイを通じた、CI/CDパイプラインの仕組み
\無料でプレビューをチェック!/
講座を見てみるレビューの一部をご紹介
評価:★★★★★
内容:Pipeline as codeの概要をハンズオンの実践を通じて学ぶことができた。Shellはかじった程度、Groovy未経験だったがコードを丁寧に解説してくれたおかげで本番環境デプロイまでコードで実施できたのが良かった。
評価:★★★★★
内容:ハンズオンでGitHubへのコミットをトリガーに本番環境へのデプロイまで一気通貫で体験できたのが良かったです。CLIを使ったコマンド実行方法についても補足してくれておりJenkins利用の幅が広がりそうです。
Jenkinsを上手に活用して、より効率的なソフトウェア開発を!
最新情報・キャンペーン情報発信中