Jenkinsを触ると出てくる用語の解説

Jenkinsは元々Javaのビルドを自動化するツールだったため、Javaの知識が無いと理解しづらい部分があります。

以下、必要になる知識を簡単にまとめておきます。

ビルド

Java は PHP や ruby と異なり、ソースのままでは実行できません。実行前に必ず_コンパイル_を行い、実行可能形式(JARファイル)に変換する必要があります。

実行可能形式を作成するための一連の流れを_ビルド_と呼びます。ビルドでは主に以下の作業を行います。

  • ソースの文法解析
  • テストの実行
  • ドキュメントの作成(Javadocなど)
  • コンパイル (実行可能ファイルの作成)

これらすべてのコマンドを手動で打つのは困難です。そのため、自動でビルドを行うビルドツールが存在します。代表的なものとして make, Ant, Maven などがあります。(後述)

PHP等のスクリプト言語ではコンパイルは不要ですが、コンパイル以外のプロセスはJavaと共通のため、「ソースが実行可能な状態にする」という意味でビルドという用語をそのまま使っているようです。

参考:

デプロイ

作成したコードを利用可能にすること。「本番反映」とも言い換えられます。

Java ではビルドで作成したJARファイルやWARファイルをWebサーバー(Apache Tomcatなど)に読み込ませ、再起動することで利用可能になります。

PHP や Ruby などのスクリプト言語なら、動作中のWebサーバーにソースコードを配置するだけです。

Ant

  • ビルドツール。
  • GNU make の代替。
  • ビルドファイル(build.xml)にビルドルールを書くことで、ビルドを自動化できます。

参考:

Maven

  • プロジェクト管理ツール。
  • Apache Ant の機能を内包しており、単にビルドツールとしても利用可能です。
  • コンパイル、テスト、Javadoc生成、テストレポート生成、デプロイなど、様々な機能が用意されています。
  • Ant では build.xml に細かい指示を記述する必要があったが、Maven では指示をコマンドラインに記述するだけで良い。
  • Jenkins は Ant/Maven どちらも利用可能です。

参考: