Bamboo のプラン構造について

2011-07-25 (Mon)  •  By 伊藤  •  活用のヒント  •  Bamboo

アトラシアン社の継続的インテグレーション サーバー Bamboo では、2.7 にてプランの拡張が行われました (Bamboo 2.7 リリース ノート参照)。これにより、ビルド 1 つのプラン内でプロセス全体を連続的なステップ (例えば、コンパイル、テスト、およびデプロイなど) にマッピングさせることができます。今回の記事では、Bamboo 2.7 以降におけるプランについてその概要を解説します。

概要

プランを構造化して 1 つのプランの中で複数のタスクを実行できるようにしないと、ビルド シナリオごとに多くのプランを定義しなければならなくなり、プランを管理するのが大変になります。Bamboo 2.7.x 以降ではプランが構造化され、1 つのプランの中に複数の実行単位 (タスク) を定義できるようになりました。これにより、多数あるプランをより少ないプランにまとめることができるようになりビルドが効率的になりました。

1. ステージについて

Bamboo 2.6.x では、1 つのプランに 1 つのジョブしか定義できませんでした。しかし、Bamboo 2.7.x 以降ではステージという概念が導入され、プランは複数のステージで構成されることになりました。

ソフトウェアのビルドをソース ファイルのコンパイル、バイナリーのテスト、アーティファクトのデプロイに分けて考えた場合、それぞれの過程をステージで定義し 1 つのプランの中に [コンパイル ステージ]、[テスト ステージ]、[デプロイ ステージ] を定義することになります。

プランの中のステージは、定義された順番に順次に実行されます。

2. ジョブについて

プランの中で定義されたステージは更にジョブという単位に分割されます。ステージは 1 つずつ直列に実行されますが、ジョブは平行に同時実行することができます。ただ同時並行実行のためには複数のビルド エージェントが必要で、それぞれのジョブで異なるビルド エージェントを割り当てる必要があります。

ソース コードをコンパイルするステージで、関連性のあるソース コードをグループに分け、それぞれのグループごとに異なるビルド エージェントを割り当ててグループのビルドをすべて同時に行う時などに便利です。

3. タスクについて

ジョブは更にタスクという単位に分割されます。ジョブで定義されたタスクは直列に実行されます。1 つのコンパイル ジョブで、ソース ファイルの入れ替え、スクリプトの実行、コンパイルの順番で作業を行いたい時に便利です。

Bamboo 2.7 におけるプランの概念図

  Previous Next  

関連記事