Jenkins
概要
CIツール
旧名Hudson
- 公式サイト: http://jenkins-ci.org/
入門: http://gihyo.jp/dev/feature/01/hudson
Hudsonの名が冠されているが、基本的な操作方法に変更はないため、
入門としては問題ない。チュートリアル http://appkitbox.com/knowledge/test/2012/11/12/jenkins-first
ジョブ分割
ビルドの並列度を高めるためには、大きなジョブを連続的に行うのではなく、
小さなジョブに依存関係を作り、ジョブを平行して実施できるように設計する。
ジョブの依存関係
下記の2通り。
- 上流プロジェクトの「ビルド後の処理」に「他のプロジェクトのビルド」を設定する。
- 下流プロジェクトの「ビルドトリガー」に「他のプロジェクトのビルド」を設定する。
ビルド間での成果物の受け渡し
上流プロジェクトの「ビルド後の処理」で「成果物を保存」を設定する。
下流プロジェクトで、上流プロジェクトの「最新成功ビルドの成果物」リンクから上流プロジェクトの成果物を取得する。ファイル指紋
ビルド間で受け渡される成果物をトレースするための仕組み。
失敗したテストと、そのテストで使用したバイナリの生成元ビルドを紐づける事が出来る。
「ビルド後の処理」で、「ファイル指紋を記録してファイルの使用状況を追跡」で設定。
上流プロジェクトは、「保存された成果物の指紋を記録」にチェック
下流プロジェクトは、取得した上流プロジェクトの成果物をテキストフィールドに指定。
プラグイン
Jenkinsは、プラグインをインストールすることで、各種機能を拡張する事が出来る。
もちろん、自作も可能。
-
プロジェクトのソースコード管理に「git」を追加するために必要。
「ソースコード管理」「高度な設定」の「Config user.name Value」と「Config user.email Value」を設定しておかないと、タグ作成に失敗し、ビルドが失敗するので注意。 -
GitHubとの連携用プラグイン。
-
ビルドの連続する上流・下流の関係を視覚的に確認できる。
-
ビルドトリガーにHTTPポーリングを追加するプラグイン。
ビルド実施条件に、ステータスコードやボディの変化を指定できる。 -
上流プロジェクトでビルドを行い、下流でテストを実施すると、
テストに失敗しても、ビルドが完了すると上流は成功となる。
このような場合に、テストに成功したビルドを判別出来るようにするプラグイン。 -
プロジェクトにバッチ処理を登録することができるプラグイン。
プロジェクトのページにリンクが表示されるので、そこへのリクエストで対象のバッチ処理を起動する事も可能。 -
ビルド履歴にビルドのトリガーを表すアイコンを表示するプラグイン。
-
ビューをプロジェクト名の正規表現でグループ化出来るプラグイン。
-
ジョブを一覧からしまっておく事ができる。完全に削除したくない時に使える。