全2741文字

ITシステムの仕事で今、最も大切なことはスピード開発。周囲から「トロい」と言わせないためのテクニックを主要ツールで身に付けよう。

 前回に引き続き、Jenkins(ジェンキンス)にまつわる素朴な疑問に答えていこう。Jenkinsは、ソフトウエア開発の面倒な作業を肩代わりしてくれる「執事」のようなツールだ。今回は、そんなJenkinsの導入のハードルを考えたい。

疑問4:どうせ簡単に導入できないんでしょ?

 社内のサーバーでJenkinsを動かすのは比較的簡単だ。まずJavaの実行環境をサーバーにインストールし、次にJenkinsの公式サイトからWARファイルをダウンロードする。WARファイルとは、JavaアプリをZIP形式で圧縮したものだ。

 続いて、以下のコマンドを使ってWARファイルを実行する。

java -jar jenkins.war

 すると、Jenkinsがサーバーとして起動する。WARファイルには「Jetty」と呼ぶ軽量なWebアプリケーションサーバーが同こんされているので、Apacheなどのサーバーソフトを別途インストールしなくても、ネットワーク経由でアクセスできる。

 JenkinsにはWebブラウザーを使ってアクセスする。パスワードなどを設定後、下のダッシュボードの画面が表示されるはずだ。ここからJenkinsでよく利用するジョブをウィザード形式で作成できる。

Jenkinsのダッシュボード画面
Jenkinsのダッシュボード画面
[画像のクリックで拡大表示]

 このように、Jenkinsは手軽に導入できるものの、ハードルになりやすいポイントも幾つかある。主なハードルは以下の3つだ。

  • Jenkinsを動かすサーバーのスペック
  • SMTPサーバーの用意とポートの開放(メール通知をする場合)
  • 外部サーバーへのインターネット接続の許可(プラグインを使う場合)

 Jenkinsの運用を始めると、同時に複数のソースコードをビルド(ソースコードの結合に関する一連の作業)することがある。この場合、高スペックのサーバーを割り当てなければ、ビルド作業がいつまでたっても終わらない問題が出る恐れがある。開発の高速化を狙ってJenkinsを導入したのに、Jenkinsの処理がボトルネックになってしまっては元も子もない。Jenkinsを使うユーザー数やJenkinsに行わせるジョブの内容を考慮し、サーバーのスペックや台数を決めなければならない。

 意外と忘れがちなのが、SMTPサーバーの用意やインターネット接続の環境だ。Jenkinsを使えば、ビルドやテストの失敗に関する情報を、開発者にすぐにメールで通知できる。しかし、Jenkinsはメールサーバーを内包していない。別のSMTPサーバーと連係し、メールを送らなければならない。セキュリティーの関係上、自由にSMTPサーバーを利用できる企業は少ないかもしれない。この場合は、情報システム部門と話し合い、Jenkins用の設定を施したり、ポートを開放したりする必要がある。

 外部サーバーへのアクセスを可能にする環境づくりも、SMTPサーバーのときと同様だ。前回述べたが、Jenkinsにはジョブの作成や実行に役立つプラグインが多数用意されている。しかし、プラグインをインストールするには、所定のドメインにアクセスする必要がある。アクセスできるドメインに制限がある企業では、情報システム部門の許可が必要だろう。これらは技術的なハードルというよりも、社内のコミュニケーションで解決していく問題だ。