昨今のIT技術の進歩には目を見張るものがあり、企業システムの開発技術やツールも進歩しています。本記事では、長年注目を集めている「Jenkins」の概要やメリット、インストール方法についてまとめました。システム開発の自動化やコスト削減を考えている企業様は、ぜひ参考にしてみてください。
Jenkinsとは
Jenkinsとは、オープンソースのサーバーソフトウェアツールのことを指します。おもに、CI(継続的インテグレーション)やCD(継続的デリバリー)の実現によって「開発プロセスの自動化」や「開発コストの削減」などを目的としています。Jenkinsは、Javaで開発されており「読込」「実行」「解読」といったパイプライン処理を自動化できるほか、プラグインの種類も豊富です。
また、スクリプトを記述することで任意の処理を実行したり、GitHubと連携したりすることが可能なので、汎用性が高いのも特徴として挙げられます。
Jenkinsの役割
Jenkinsの役割は、ビルドプロセスに合わせて最適なツールを最適なタイミングで用いることです。Jenkinsは単なるビルドツールやテストツールではなく、ビルドプロセスの各フェーズをシームレスに連携させ、バージョン管理システムのコミット状況やレポート結果などを即座に知らせることを役割としています。
また、複数のプラットフォームでビルドやテストを行っても、高速で処理が実行されるように複数の機器へ負荷を分散させる役割も持っています。
JenkinsとCI/CDの関係性
JenkinsとCI/CDの関係性の前に、CIとCDについて理解しておきましょう。CIとは継続的インテグレーションのことで、ビルドやテストなどを継続的に自動化します。一方で、CDとは継続的デリバリーのことで、CIによってビルドやテストされたコードのデプロイや統合などを自動的に行います。
Jenkinsを使ってCI/CDの処理を一連化することで、開発プロセスの自動化や作業工数の負担軽減が期待できるのです。
Jenkinsのメリット
Jenkinsが注目される中で、具体的にどのようなメリットがあるのでしょうか。特に知っておきたいJenkinsのメリットを下記で3つ紹介しています。
豊富なプラグインがある
Jenkinsには1,000を超える豊富なプラグインがあります。これにより、CIやCDにさまざまな機能を統合できるのが大きなメリットです。Jenkinsのプラグインには、テストを実行するために必要不可欠な「Docker Plugin」やファイル等をバックアップできる「thin backup」などがあります。
また、JenkinsはGitHubやAWSといったツールとの連携が可能なのも強みだといえるでしょう。
導入から設定までが容易
Jenkinsは自己完結型のJavaベースのプログラムであるため、環境構築に関する高度な専門知識を必要としないのもメリットです。また、Javaが動作できる環境であればWindowsやLinux、MacOSなどのさまざまなOSに対応しているので、導入から設定までを簡単に行えます。
さらに、DockerやKubernetes上のサポートもされており、すぐに実行させられるのも大きな魅力だといえるでしょう。
拡張が可能
プラグインアーキテクチャを介した拡張ができるのもJenkinsのメリットです。Jenkinsはオンプレミス型のツールであることから拡張機能は利用者の負担になりやすいですが、プラグインがあるため、利用者の負担を減らせます。
ただプラグインの種類が豊富なだけではなく、さまざまなプラグインで自由に機能拡張ができるので、目的に応じて柔軟に利用できるでしょう。
Jenkinsのデメリット
Jenkinsにはたくさんのメリットがありますが、デメリットもあります。以下ではJenkinsのデメリットを2つ解説します。
学習コストが高く、属人的になりやすい
Jenkinsは高度な専門知識を必要としないものの、独自の仕様が多く、一つひとつ丁寧に覚えていく必要があります。そのため、社内でリソースをかけた人だけが使用できるようになってしまい、その結果Jenkinsの使用が属人的になってしまう可能性もあるでしょう。
Jenkinsには多くの機能が搭載されていますが、それらの機能を使いこなせるまでにはどうしても時間がかかってしまいます。学習コストの高さはJenkinsのデメリットだといえるでしょう。
Jenkinsの運用ルール策定が必要
Jenkinsは、ルールに沿って運用することで初めて成果を得ることができます。あらかじめ運用ルールを定めておかないと、不要なジョブが残ったりしてしまうでしょう。しかし、この運用ルールを作成するのに時間がかかるのもJenkinsのデメリットだといえます。
具体的な運用ルールは会社によって異なりますが「コーディング規約」や「コメントの記載方法」「システムの設計方法」などの観点が挙げられます。初めのうちは運用ルールの策定に時間がかかってしまうかもしれませんが、ツールを使用していくうえで徐々にスピード感を持って作成できるようになるでしょう。
Jenkinsのインストール方法・初期設定を解説(Windows)
Jenkinsのインストールや初期設定はどのように行うのでしょうか。本項では、Windowsの手順を紹介していきますので、ぜひ参考にしてみてください。
インストーラーをダウンロードし、実行する
まず初めにインストーラーをダウンロードする必要があるため、下記のJenkins公式サイトのリンクにアクセスして、「Download」をクリックしましょう。
次に「Windows」をクリックし、jenkins.msiのファイルを取得します。そして、jenkins.msiのファイルを実行するとインストールが開始されます。ここで初期のポート番号を指定するように求められますが、後からでも変更可能なのでNextボタンを押下して先に進んでも問題はありません。
Jenkinsを起動し、ロックを解除する
次にインストールしたJenkinsを起動する必要があります。インストール完了後に「Finish」を押下するとロック画面が表示されるため、このロックを解除する必要があります。解除方法は簡単で「initialAdminPassword」ファイルに記載されているパスワードをコピーしてロックを解除しましょう。
これにて、Jenkinsの起動とロック解除は完了です。
プラグインをインストールする
Jenkinsの起動とロック解除が完了したら、初期プラグインの選択画面が表示されます。おすすめのプラグインか、よく使われているプラグインを自分で選ぶか、どちらかを選択しましょう。
左側は自動で便利なプラグインを選定してくれる一方で、右側は自分でプラグインを選択できます。
最初のインストール時でプラグインに悩んだ場合は「Install suggested plugins」がおすすめです。
必要事項を入力する
その後、初期ユーザー情報を登録する「Create First Admin User」とJenkinsのURLを入力する「Instance Configuration」という画面がそれぞれ表示されます。Create First Admin Userには、ユーザー名、パスワード、フルネーム、メールアドレスを入力し「Save and Continue」を押下しましょう。
Instance Configurationには、デフォルトのURLでも可能です。必要に応じて内容を変更しても問題ありません。入力が完了したら「Save and Finish」を押下します。これらの情報は後からでも変更できるので、時間を空けてから修正するのも良いでしょう。
まとめ
Jenkinsを導入することで、システム開発における工数削減に大きく役立ちます。また、豊富なプラグインに加え、導入が容易なのも魅力だといえるでしょう。
Microsoft AzureではJenkinsサーバーが構築できます。セキュリティが充実しており、いつでもオンラインコミュニティから質問することも可能です。Jenkinsの導入を考えている方はMicrosoft Azureのサービスをご検討されてみてはいかがでしょうか。