jenkins情報
Jenkinsとは
Jenkins(ジェンキンス)は、開発作業の自動化を目的としてJavaで実装されたオープンソースのサーバーソフトウェア(CIツール)です。 Jenkins(ジェンキンス)は、主に以下の2つの技術的な実現に役立ちます。
- 継続的インテグレーション(CI)
ソフトウェア開発プロセス全体の単純作業を自動化すること
- 継続的デリバリー(CD)
継続的インテグレーションにより出来上がったソフトウェアを、テスト環境や本番環境に自動的にリリースすること
Jenkins(ジェンキンス)自体はwarファイルで提供されており、Apache Tomcatのようなサーブレットコンテナにデプロイすることで起動できます。
また、このwarファイルはサーブレットコンテナの機能も含む実行可能な形式でビルドされており、java -jar jenkins.war のように単体で実行することもできます。
Jenkins(ジェンキンス)は、AccuRev、CVS、Subversion、Git、Mercurial、Perforce、ClearCase、RTCなどのSCMツールをサポートし、Apache AntやApache Mavenベースのプロジェクトだけでなく、任意のシェルスクリプトやWindowsバッチコマンドを実行することができます。
ビルドは、様々なトリガーによって実行することができます。例えば、バージョン管理システムにコミットする、cronのような機構を介してスケジューリングする、特定のビルドURLにリクエストを送信するといったことを指定できます。
また、キューの中にある他のビルドが完了したことをトリガーに、次のビルドを実行することもできます。
Jenkins(ジェンキンス)は、もともとSun MicrosystemsでHudson(ハドソン)という名前で開発されましたが、OracleがSunを買収後、Hudsonという名前を商標登録したため、Jenkinsに改名されて独立したオープンソースプロジェクトの中で開発が継続されています。
Jenkins(ジェンキンス)の最大の技術的な強みの一つは、拡張可能であるということです。これに加えて、コミュニティはエンハンス要望を非常に歓迎するため、現在1200以上のプラグインがあり、数百人の開発者により毎月新しいプラグインが作成され、公式アップデートセンターで入手可能となっています。
2016年には、バージョン2がリリースされ、継続的デリバリーのためのパイプラインが標準で組み込まれるようになりました。
Jenkinsの開発は活発で、リリースはほぼ毎週行われています。
主な特徴
継続的インテグレーション(CI)と継続的デリバリー(CD)
拡張可能な自動化サーバーであるため、単純なCIサーバーとして使用することも、任意プロジェクトのための継続的デリバリーのハブとして使用することもできます。
簡単なインストール
Jenkinsは自己完結型のJavaベースのプログラムであり、Windows、Mac OS X、その他のUnix系OS用のパッケージにより、すぐに実行する準備ができます。
また、Dockerイメージも配布されていますので、Dockerですぐに実行させることができます。
設定が容易
即時実行のエラーチェックと内蔵のヘルプが含まれるWebインターフェイスを介して、簡単にセットアップし、設定することができます。
豊富なプラグイン
アップデートセンターにある1800を超えるプラグインにより、継続的インテグレーションと継続的デリバリーに様々な機能を統合することができます。
拡張可能
プラグインアーキテクチャを介して拡張することで、Jenkinsができることに対する無限の可能性を提供します。
分散型
複数のプラットフォームでのビルド、テスト、デプロイを迅速に実行ができるように、複数のマシンに作業を分散させることができます。
ユースケース
前述の通り、Jenkinsは豊富なプラグインを利用して、様々な作業を自動化することが出来ます。一般的には、ソースコードのビルド、テスト、デプロイを自動化するために用いられることが多いですが、それ以外でもソースコードのチェックやレポートの出力など、コマンド実行可能な処理はJenkinsで自動化することが可能です。
動作環境
前提となる動作環境は、以下のとおりです。
OS
- Docker
- Ubuntu / Debian
- CentOS / Fedora / Red Hat
- Windows
- openSUSE
- FreeBSD
- macOS
ハードウェアの最小構成
- 256MBのRAM
- 1 GBの空き容量(ただし、JenkinsをDockerコンテナとして実行する場合は10 GB以上を推奨します)
ミドルウェアの要件
- OpenJDK JDK / JRE 8 - 64 bits
- OpenJDK JDK / JRE 11 - 64 bits
動作対象ブラウザ
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Apple Safari
Jenkinsのライセンス
JenkinsはMITライセンスのオープンソース・ソフトウエアです。MITライセンスのソフトウェアは無償で再配布、商用利用などが可能となっており、他のオープンソースライセンスに比べ制限が極めて緩いライセンスになります。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。