Jenkins
CI(Continuous Integration)とはソフトウェア開発においてビルドやテストを頻繁に繰り返し行なうことにより問題を早期に発見し、開発の効率化や省力化、納期の短縮などを図る手法である。これを手作業で行うことは大きな負担となるため、Jenkinsのような自動化ツールを用いることが多い。
JenkinsはJavaで開発されたWebベースのソフトウェアで、Apache Tomcatなどのサーブレットコンテナ(Webコンテナ)上で動作する。インストールすると開設される専用のWebサイトから管理や設定の変更、レポートの閲覧などができる。
バージョン管理システム(VCS)などと連携し、プロジェクトを構成するソースコードを自動的に集め、コンパイルして実行可能な状態にビルドする。また、ビルドしたソフトウェアに対してあらかじめ登録されたテストを自動的に実施し、結果をレポートとしてまとめてくれる。
ビルドのタイミングは様々な条件を指定でき、実行間隔を指定して定期的に行うようにしたり、連携しているバージョン管理システムのコミット状況を監視してコードが更新されたら実行したり、利用者からの操作により即座に実施したりすることができる。
もとは米オラクル(Oracle)社主導で開発されていた「Hudson」(ハドソン)と呼ばれるソフトウェアだったが、2011年にそれまで開発されたコード群を元にオープンソースプロジェクトとして分岐(フォーク)し、Jenkinsとしての開発が始まった。MITライセンスに基づいて配布されている。
(2023.5.11更新)