Allegro!

JavaやIT系小ネタ、趣味の話まで。

【Java】Jenkinsとは?とっても素敵な執事をご紹介します

f:id:PaZoo:20181202173807p:plain

 

皆さんこんにちは。

Webアプリケーションを開発しているエンジニアの中には、最新のファイルをこまめにテスト環境へ反映させておきたい場面がありますよね。

 

しかし、これらを全て手動で行なっているとビルドに時間がかかったり、ファイルアップ時に「反映されてない!」という反映漏れや誤ったファイルをアップするなど人的ミスが発生してしまいます。 

 

「簡単にやってくれるツールはないのかよー!」

ええ、実はあるんです。

自動でビルドしてくれて更にテストまでやってくれるんです…そう、Jenkinsならね!

 

今回は、Webアプリケーション開発に携わっているエンジニアにとっても心強い味方であるJenkins(ジェンキンス)についてご紹介していきます!

 

 

Jenkins(ジェンキンス)とは

Jenkinsとは、継続的インテグレーションツール(CI)や継続的デリバリー(CD)を実現するために開発されたオープンソースのツールです。

Jenkinsの特徴としては、何と言っても汎用性の高さ。

基本的にJavaが動く環境であれば、LinuxでもWindowsでも動作します。また、ビルドやテストに限らずどんなスクリプトでも実行できるので、ビルドからリリースまで柔軟に自動化を行うことができるところが魅力。

 

 さて、ここで「継続的インテグレーション」という聞き慣れない日本語が出てきましたね。継続的インテグレーションについて、ざっくり説明しましょう。

 

継続的インテグレーションとは、開発者がソースコードを変更した時に定期的にセントラルリポジトリへマージし、その後に自動化されたビルドとテストを実行するソフトウェア開発の手法です。

その手法を実現させるのが、Jenkinsということですね。

Jenkinsを導入するメリット

さて、ここまでで分かったのは「Jenkinsは継続的インテグレーションを実現するためのツールである」ということ。

では、Jenkinsを使うことでどんな利点があるのでしょうか?

 

ソースコードを変更するのは、開発者にとって日常茶飯事。

それを手動でビルドしてなんたらして…としていると工数がいくらあっても足りません。そこで、Jenkinsの出番です。

 

Jenkinsは自動的にビルドを行い、変更された新しいコードについて単体テストを実施してくれます。つまり、エラーをすぐに発見できちゃうという優れもの!!

Jenkinsがビルドしてテストしてくれている間に、開発者は他の作業に取りかかることが出来るなんてとても効率的。Jenkinsすごい!

 

  • 自動でビルド=時間短縮・人為的ミスの減少
  • 単体テスト実施=影響範囲が小さい時に早期でバグを見つけることが出来る
  • 品質管理の向上

Jenkinsを導入する利点は、上記の内容であると言えるでしょう。

 

まとめ

いかがだったでしょうか?

今回、Jenkinsの概要について簡単にではありますがまとめてみました。次回はJenkinsの使い方をまとめますので、実際に使っていきたいと思います!

 

最後に全く関係ありませんが、Jenkinsの執事がとても好みです。