CIを実現するツールの定番と言えるのが、オープンソースソフトウエア(OSS)のJenkinsだ。Jenkinsを導入するメリットは何か、Jenkinsを活用するとソフトウエア開発がどう変わるのか。5つの疑問に答える形で、JenkinsによるCI実践のポイントを解説しよう。

疑問 1
なぜ「Jenkins」という名前?

 Jenkinsは、ソフトウエア開発者の作業の一部を肩代わりしてくれる「執事」のようなツールだ。Jenkinsをサーバーにインストールすれば、ビルドやテストといった面倒な作業(ジョブ)を自動化できる。図1に示すのは、そんなJenkinsのロゴだ。

図1●Jenkinsのロゴ
(出所:Jenkins公式サイト)
[画像のクリックで拡大表示]

 このロゴは、落ち着きのある英国執事の姿をイメージしている。マスコットキャラクターは、ドラマに出てくる執事のような蝶ネクタイ姿だ。Jenkinsという名前も「英国執事を想起させる」という理由で命名されたものだ。実際、Jenkinsは開発者にとって面倒な作業を肩代わりしてくれる執事としての機能を備えている。

 Jenkinsの生みの親は、現在の開発元である米CloudBeesのCTO(最高技術責任者)、川口耕介氏。もともとは「Hudson(ハドソン)」という名前だった。Hudsonという名前も英国執事を連想させるという理由で名付けられた。ところが2010年12月、米オラクルがHudsonを商標登録したため、商標上の懸念が発生してしまった。Hudsonを開発する主要メンバーとオラクルの間で話し合いが持たれたが、結局Hudsonという名前のまま開発し続けることが難しくなった。そこで、Hudsonの開発コミュニティー内で投票を行い、Jenkinsに改名された。

疑問 2
Jenkinsを使うと何がうれしい?

 Jenkinsを利用するメリットは、様々なツールと連携して多種多様なジョブを自動化できることだ。例えば、ビルドツールと連携すれば、コンパイルや結合、パッケージ化といったアプリケーションのビルド作業を自動実行できる。

 このように、ジョブをJenkinsが開発者の代わりに実行することで、ビルド作業の大幅な工数削減につなげられる。テストツールと連携させるジョブを登録すれば、Jenkinsによるテストの自動化も実現できる。

 開発者にとってうれしいのは、Jenkinsで実行できるジョブが多岐にわたることだろう。実行できる主なジョブは表1の通りだ。

表1●Jenkinsで実行できる主なジョブ
[画像のクリックで拡大表示]

この先は有料会員の登録が必要です。「日経SYSTEMS」定期購読者もログインしてお読みいただけます。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら