Jenkins(ジェンキンス)。オープンソース継続的インテグレーション支援ツールです。ソフトウェア開発プロジェクトなどにおける「ビルド」「デプロイ」「テスト」などの作業自動化/効率化を支援します。

Jenkinsとは

Jenkins(ジェンキンス)。オープンソース継続的インテグレーション支援ツールです。ソフトウェア開発プロジェクトなどにおける「ビルド」「デプロイ」「テスト」などの作業自動化/効率化を支援します。

基本情報

概要

Jenkins(ジェンキンス)とは、オープンソース継続的インテグレーション支援ツールです。ソフトウェア開発プロジェクトなどにおける「ビルド」「デプロイ」「テスト」などの作業自動化/効率化を支援します。

「継続的インテグレーション」とは

継続的インテグレーション(CI:Continuous Integration)とは、バージョン管理ツールにコミットされたソースコードを定期的に自動ビルドすることにより、問題を早期に発見し対処を行うことです。

その結果、ソースコード品質の向上、テスト工数の削減といった効果が得られます。

基本説明

Jenkinsの主要機能は、「継続的なソフトウェアのビルド/テストを行う機能」と「外部で起動するジョブ実行の監視機能」です。

Javaで開発されたWebベースのソフトウェアで、Webサイトから管理/設定変更/レポート閲覧ができます。

Jenkinsを使った開発の流れ

開発メンバーがソースコードをコミットすると、Jenkinsが更新を検知し、ビルドツールをキックします。あらかじめ設定しておいた手順に従って、ビルド/テストが実行されます。ビルド/テストが完了したら、Jenkinsは、Webページやメールなどに結果を出力します。

エラー箇所について、開発メンバーが修正を行い、ビルド/テストを繰り返して、エラーがゼロになるまで繰り返せば、手順書レベルの品質をクリアできていることになります。

経緯

Jenkinsは、Oracle社主導で開発されていた「Hudson」と呼ばれるソフトウェアがベースとなっています。

2011年に、オープンソースプロジェクトとして分岐(フォーク)し、Jenkinsとしての開発が始まりました。

主な開発者の一人として、川口耕介氏がおり、2011年、このプロジェクトにおける自身の働きを讃えられ「Google–O'Reilly Open Source Award」を受賞しています。

TOPに戻る

主な特徴

非常に高い汎用性

Linux/Windows/Macなど、どの環境でも、さまざまな種類/言語のスクリプトを実行できます。

幅広いトリガー

「バージョン管理システムのコミット」「cronライクのメカニズムによるスケジューリング」「他のビルドが完了した時」「特定のビルドURLによるリクエスト」などさまざまなトリガーで実行させることができます。

プラグインによる拡張性

Jenkinsは、プラグインを作成/利用することで機能を拡張できます。プラグインが充実している点も特徴です。

バージョン管理システムとの連携

バージョン管理システムと連携し、自動的にプロジェクトを構成するソースコードを集め、コンパイルして実行可能な状態にビルドします。

「CVS」「Subversion」「Git」「Mercurial」「Perforce」「Clearcase」など多くのバージョン管理システムに対応しています。

ユニットテスト

非常に簡単な設定でユニットテストを実行させることができます。

簡易なインストール

「java -jar jenkins.war」を実行するか、サーブレットコンテナにデプロイするだけで、インストールできます。データベースは不要です。

簡易な設定

分かりやすいWebGUIを使用してJenkinsの設定を行えます。

差分のサポート

Jenkinsは、バージョン管理システムからビルドへの変更の一覧を生成できます。

永続リンク

「最新ビルド」「最新安定ビルド」のような永続(固定)的なクリーンでわかりやすいURLを持ちます。

RSS/Eメール/IM との連携

「RSS」「メール」「IM」などを結果出力先とすることもできます。

ビルド後のタグ

ビルド単位で、タグをセットできます。

JUnit/TestNGによるテスト結果のレポート

JUnitのテスト結果を、一覧表示/要約で履歴情報とともに表示します。履歴の傾向はグラフ化されます。

分散ビルド

複数のコンピュータで分散ビルド/テストを実行できます。

ファイル指紋

「どのビルドがどのjarを生成したのか」「どのビルドがjarのどのバージョンを使用しているのか」などを追跡できます。

さまざまなOSをサポート

Linux系、BSD系、Windows、Macなど、多くのOSをサポートしています。

TOPに戻る

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「CircleCI」など。

TOPに戻る

導入事例

高い汎用性/機能性で、さまざまな領域で幅広く利用されています。

TOPに戻る

ライセンス情報

Jenkinsのライセンスは、「MIT License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Jenkins最新TOPICS

最新情報はありません。

Jenkins最新CLOSEUPコラム

  • オープソース書籍(サイド)

OSS×Cloud ACCESS RANKING

  • OSSNEWSに広告を掲載しませんか?

facebook

twitter