支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Jenkinsとは?導入するメリット

Jenkinsとは

IT業界における開発手法や開発ツールは日々進化しており、開発現場では様々な新しい技術が導入されております。 ソフトウェア開発を行う技術者は新しい技術を身につけ知識を常にアップデートすることで 成果物の品質を高め、クライアント満足度を高めることが可能になります。 特にソフトウェア開発においてはコスト面削減や業務効率効率向上を常に意識し新しい知識を学習することは非常に重要と言えます。 Jenkinsはオープンソースの自動化ツールとして有名で、ソフトウェア開発においてビルド・テスト・デプロイの自動化を実現するツールや技術を指します。 Jenkinsの歴史は古く、2007年にプロジェクトが発足しました。Jenkinsの生みの親は川口耕介氏という日本国籍の方となり、2011年に川口耕介氏はJenkinsプロジェクトにおける働きが評価され、「Google–O'Reilly Open Source Award」という賞を受賞しました。 Jenkinsは、Sun Microsystems社において「Hudson」と命名され開発が行われておりましたが、Oracle社が同社を買収した後にJenkinsと改名された後にも開発が継続され、現在に至っているというのが簡単なJenkinsの歴史となります。 JenkinsはCI(継続的インテグレーション)ツールの中では比較的老舗として安定した需要のあるツールとなりますが近年になり開発手法の効率化や自動化の技術が注目を浴びていることもあり、さらに関心が高まっているツールとも言えるでしょう。 ここでは、Jenkinsについて掘り下げ詳しく解説させていただきますので、自動化ツールの技術に関心のある方は是非参考にしてみてください。

CI(継続的インテグレーション)について

Jenkinsを理解するために関連性の高いキーワードがCI(継続的インテグレーション)となります。 JenkinsはCI(継続的インテグレーション)ツールの中でも代表的なツールと呼ばれるため、 CI(継続的インテグレーション)の概念を理解しておくことがJenkinsを理解する上で非常に重要となってきます。 CI(継続的インテグレーション)とは、開発者が記述したプログラミングコードとマスターブランチ(トランク)を頻繁に統合を実行するプロセスのことを指し、それを実現するツールをCI(継続的インテグレーション)ツールと呼びます。 CI(継続的インテグレーション)の基礎知識としてビルド・デプロイ・テストやそれを自動化するプロセスの事を「パイプライン」と呼ぶことです。 このパイプラインの中でビルド・デプロイ・テストを自動化することと監視を行うことで業務効率を大幅に向上させるという点がCI(継続的インテグレーション)を理解するうえで最も重要なポイントと言えるでしょう。 CI(継続的インテグレーション)ツールを利用するメリットとしてはソフトウェア開発におけるプロセスの自動化により業務効率が向上するだけでなく、テストの自動化によりバグを早期に発見できるところも大きなメリットと言えます。 CI(継続的インテグレーション)ツールを利用しない開発においては、開発者は単独で作業を行い自身の作業が完了して初めてマスターブランチにマージを実行するという開発フローでした。この従来型の開発フローの場合、バグが発生した際の修正作業・影響作業の調査など関連する作業に対して工数がかかってしまうというデメリットがありましたがCI(継続的インテグレーション)ツール導入により こういった開発工程における無駄な作業やコスト面の課題が解消されることができるのです。 以上がCI(継続的インテグレーション)についての説明となります。

CD(継続的デリバリー)について

CD(継続的デリバリー)について説明させていただきます。 CD(継続的デリバリー)はCI(継続的インテグレーション)とセットでCI/CDという形で説明されることが多い言葉です。 CD(継続的デリバリー)とはCI(継続的インテグレーション)の実行を延長しテスト後に利用環境に導入可能状態にリリースする工程まで自動化 を実現することを指します。また、リリースした後に実デプロイを行う工程までを自動化することをCD(継続的デプロイ)と呼び、継続的デリバリーと継続的デプロイもセットで呼ばれることが多いです。 また、関連が深い用語として開発者と運用者が密接に協力し開発・運用プロセスの実行や改善を行うDevOpsも抑えておくといいでしょう。

Jenkinsを導入するメリットについて

Jenkinsを導入するメリットについて説明させていただきます。 ポイントを3つに絞り紹介させていただきますので、是非参考にしていただけましたら幸いです。

導入が簡単

Jenkinsを導入するメリットの一点目が導入が簡単ということです。 CIツールは複数ありますが、JenkinsはJavaで実装されていることもあり導入が簡単でプラットフォームを選びません。 LinuxでもWindowsでもJavaが動く環境であれば動作可能ですので開発環境を選ばず活躍することができる点は 大きなメリットと言えるでしょう。

豊富なプラグイン

Jenkinsを導入するメリットの二点目が豊富なプラグインです。 Jenkinsは多くの便利なプラグイン機能を保有し、その数は1400以上にのぼります。 CI(継続的インテグレーション)ツールの中でJenkinsが人気である理由として、プラグインが豊富なことにより自動化をより柔軟に実行できるという点は大きな理由と言えます。 また、Jenkinsに関する知識は日本語の解説サイトが豊富なため海外サイトや英語文献などを調査する必要がない点も日本人の開発者にとってはメリットと言えるでしょう。

多様なトリガー

Jenkinsを導入するメリットの三点目が多様なトリガーです。 プログラム実行におけるきっかけを「トリガー」と呼ぶのですが、Jenkinsにおいては様々な条件を指定することで処理の実行を行うことが可能になります。

まとめ

いかがでしたでしょうか?Jenkinsの説明と導入するメリットについて説明させていただきましたので参考にしていただけましたら幸いです。