Jenkins(ジェンキンス)とは、オープンソース継続的インテグレーション支援ツールです。ソフトウェア開発プロジェクトなどにおける「ビルド」「デプロイ」「テスト」などの作業自動化/効率化を支援します。
継続的インテグレーション(CI:Continuous Integration)とは、バージョン管理ツールにコミットされたソースコードを定期的に自動ビルドすることにより、問題を早期に発見し対処を行うことです。
その結果、ソースコード品質の向上、テスト工数の削減といった効果が得られます。
Jenkinsの主要機能は、「継続的なソフトウェアのビルド/テストを行う機能」と「外部で起動するジョブ実行の監視機能」です。
Javaで開発されたWebベースのソフトウェアで、Webサイトから管理/設定変更/レポート閲覧ができます。
開発メンバーがソースコードをコミットすると、Jenkinsが更新を検知し、ビルドツールをキックします。あらかじめ設定しておいた手順に従って、ビルド/テストが実行されます。ビルド/テストが完了したら、Jenkinsは、Webページやメールなどに結果を出力します。
エラー箇所について、開発メンバーが修正を行い、ビルド/テストを繰り返して、エラーがゼロになるまで繰り返せば、手順書レベルの品質をクリアできていることになります。
Jenkinsは、Oracle社主導で開発されていた「Hudson」と呼ばれるソフトウェアがベースとなっています。
2011年に、オープンソースプロジェクトとして分岐(フォーク)し、Jenkinsとしての開発が始まりました。
主な開発者の一人として、川口耕介氏がおり、2011年、このプロジェクトにおける自身の働きを讃えられ「Google–O'Reilly Open Source Award」を受賞しています。
Jenkinsのライセンスは「MIT License」です。
詳細について、こちらを参照ください。
→Jenkins →License
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Concourse CI」など。
Linux/Windows/Macなど、どの環境でも、さまざまな種類/言語のスクリプトを実行できます。
「バージョン管理システムのコミット」「cronライクのメカニズムによるスケジューリング」「他のビルドが完了した時」「特定のビルドURLによるリクエスト」などさまざまなトリガーで実行させることができます。
Jenkinsは、プラグインを作成/利用することで機能を拡張できます。プラグインが充実している点も特徴です。
「java -jar jenkins.war」を実行するか、サーブレットコンテナにデプロイするだけで、インストールできます。データベースは不要です。
分かりやすいWebGUIを使用してJenkinsの設定を行えます。
「最新ビルド」「最新安定ビルド」のような永続(固定)的なクリーンでわかりやすいURLを持ちます。
バージョン管理システムと連携し、自動的にプロジェクトを構成するソースコードを集め、コンパイルして実行可能な状態にビルドします。
「CVS」「Subversion」「Git」「Mercurial」「Perforce」「Clearcase」など多くのバージョン管理システムに対応しています。
バージョン管理システムからビルドへの変更の一覧を生成できます。
複数のコンピュータで分散ビルド/テストを実行できます。
非常に簡単な設定でユニットテストを実行させることができます。
JUnitのテスト結果を一覧表示/要約で履歴情報とともに表示します。履歴の傾向はグラフ化されます。
ビルド単位でタグをセットできます。
「どのビルドがどのjarを生成したのか」「どのビルドがjarのどのバージョンを使用しているのか」などを追跡できます。
開発者向けのオープンソース自動化ツールを4点紹介。 ①継続的インテグレーション自動化ツール「Jenkins」 Jenkinsは、KubernetesやDockerを組み合わせてアプリケーションとサービスを展開する場合に有用で、自動化されたアプリケーションとサービスの構築と展開のためのプロンプトを作成できる。...
OSS×Cloud ACCESS RANKING