継続的結合のことであり、定期的かつ自動的にビルドやテストを行うことを指します。実践することで、プログラムの修正による不具合を早期に検出することができます。ツールの詳しい特徴をまとめます。各開発者の作業に影響を与えることなく、定期的にビルドやテストを行うことができるシステムの規模が大きくなるにつれ、各開発者の環境でシステム全体のビルドやテストを行うことは困難になります。仮に開発者の環境でビルドやテストを実行するとしても、その間は開発の手を止めなければならないかもしれません。サーバで定期的にビルドやテストが行われるため、ビルドやテストにある程度の時間がかかるとしても、各開発者の作業に影響を与えることはありません。ビルドやテストを定期的かつ自動的に行うことができるシステム全体のビルドやテストを手作業で行う場合を考えると、実行間隔を短くするほど人の負担は増えてしまいます。最悪の場合、それを行うこと自体を忘れてしまうかもしれません。ツールを導入すれば、それらの作業を自動化することができます。テストの条件を一定にすることができる開発者の環境にはコミットされていないコードが存在するかもしれませんし、データベースの内容も動作テストによって変更されているかもしれません。そのため、ある開発者の環境ではテストに成功しても、他の開発者の環境ではテストに失敗するという状況が発生することがあります。ツールを導入すれば、コミットされている最新のソースコードをビルドし、データベースの内容を初期化した後にテストを実行することができるため、テストの条件を一定に保つことができます。次の特徴を備えています。ファイルをサーブレットコンテナに配備します。インタフェースにより簡単に設定を変更することができます。チェンジセット全て(コミット者、コミットログ、修正されたファイル)が表示されます。レポートの通知をサポートしています。Maven1、Maven2、ANT、シェルスクリプトをサポートしています。よって外部ツールと連携することができます。よるビルドをサポートしています。プロジェクトタイプごとのデフォルトのビルドテンプレートを定義することができます。ビルドキューにあるプロジェクトの閲覧や割り込み(ビルドの中止)を行うことができます。以下のダウンロードページから取得することができます。サーブレットコンテナ上で動作させることもできます。形式以外のファイルをダウンロードします。ダウンロードしたファイルを適当なディレクトリに展開します。start」を実行します。動作していることを確認します。形式のファイルをダウンロードします。ファイルをサーブレットコンテナに配備します。配備先のサーブレットコンテナを起動します。動作していることを確認します。アクセスするときは、管理者ユーザを作成するための画面が表示されます。管理者ユーザを作成すると、通常のログイン画面が表示されるので、作成した管理者ユーザでログインします。初回ログイン時は一般情報設定画面が表示されます。扱う一番大きな単位はプロジェクトグループです。Groups」をクリックするとプロジェクトグループ一覧画面が表示されます。Group」という名前のプロジェクトグループが作成されています。プロジェクトグループの中にはいくつかのプロジェクトが配置されます。プロジェクトグループ一覧画面に表示されているプロジェクトグループの名前をクリックすると、そこに含まれているプロジェクトの一覧画面が表示されます。プロジェクト)を登録してみましょう。登録することとします。Group」とします。プロジェクト一覧画面を表示します。Project」を選択し、「Add」ボタンを押します。プロジェクト登録画面が表示されます。ある「http://svn.apache.org/repos/asf/commons/proper/lang/trunk/pom.xml」を入力し、「Add」ボタンを押します。登録が完了するとプロジェクト一覧画面が表示されるので、追加したプロジェクト名をクリックします。Now」ボタンで手動ビルドを開始してみましょう。画面に変化はありませんが、バックグラウンドでビルドが開始されます。ビルドの結果/経過を見るには「Builds」タブをクリックします。ビルド結果のページには実行したビルドの結果が全て蓄積されていきます。画面右端の「Result」リンクから、個々のビルド結果の詳細を閲覧することもできます。プロジェクトを登録し、ビルドするまでを見てきました。動作を見ることができました。一つだけやらなければならないことがあります。ここで指定されている場所からプロジェクトのソースコードを取得し、ビルドします。要素の子要素には以下のものを指定することができます。接続情報を指定します。記述する形式は、「scm:<プロバイダ>:<リポジトリの場所>」です。種類を表す文字列が入ります。場合は「svn」が入ります。場合は「scm:svn:http://svn.apache.org/repos/asf/commons/proper/lang/trunk」が指定されています。接続情報を指定します。要素で指定した場所を基準としたソースコードの場所を指定します。ある程度大規模なプロジェクトでは、プロジェクトを複数のブランチに分けて開発を進めることがあります。以下に配置する、というものです。要素に「trunk」を指定します。要素を指定しておく必要があります。ビルド結果をメールなどで通知する機能があります。通知の設定は、プロジェクトグループに対して行うことも、プロジェクトに対して行うことも出来ます。あるプロジェクトグループに含まれるプロジェクト全てで同じ通知設定を行いたい場合は、プロジェクトグループに対して通知設定を行うと良いでしょう。プロジェクトグループに対して通知設定を行うプロジェクトグループに対して通知設定を行う場合は、以下の手順で行います。プロジェクトグループのページの「Notifiers」タブをクリックします。group」という項目の「Add」ボタンをクリックします。通知の種類(メールなど)を選択します。通知の種類ごとの設定と、通知が行われる条件を指定します。プロジェクトに対して通知設定を行うプロジェクトに対して通知設定を行う場合は、以下の手順で行います。プロジェクトのページの「Notifiers」という項目の「Add」ボタンをクリックします。通知の種類(メールなど)を選択します。通知の種類ごとの設定と、通知が行われる条件を指定します。要素に記述することもできます。最初にアクセスしたときに管理者ユーザを作成しました。扱う場合は、必要な数だけユーザアカウントを作成すると良いでしょう。左メニューの「Users」をクリックすると、ユーザ管理画面が表示されます。User」ボタンをクリックすると、ユーザ作成画面に遷移します。ビルドを行う間隔は「スケジュール」によって指定します(個々のビルドタスクでは、使用するスケジュールを指定します)。左メニューの「Schedules」をクリックすると、スケジュール管理画面が表示されます。初期状態では、「DEFAULT_SCHEDULE」という名前の、一時間ごとに実行を行うためのスケジュールが登録されています。時に実行されるスケジュールを作成する場合は、次のように入力します。スケジュールの名前を指定します。スケジュールの説明を指定します。スケジュールの実行間隔を指定します。元にしたものであり、「*」を指定した場合は「全て」という意味になります。Week」については、「無指定」を意味する「?」を指定することが出来ます。Week」のどちらか一方を指定したい場合に、もう片方には「?」を指定することで、設定が衝突しないようにするためです。一定時間経ってもビルドが終わらなかった場合にエラーとする秒数を指定します。ビルドがいつまで経っても終わらなくなってしまいます。いった事故を防ぐためにも、通常のビルドではありえないような大き目の時間を指定しておくと良いでしょう。「0」を指定すると、無制限という意味になります。最新のコードを取得してから、ビルドを始めるまでの待ち時間を指定します。ツールによっては待ち時間が必要なものもあるようです。日本語化デフォルトでは日本語ロケールが設定されていないため、日本語の表示が全て文字化けしてしまいます。これを解消するには「<インストール先ディレクトリ>/apps/continuum/webapp/WEB-INF/classes/webwork.properties」を修正する必要があります。以下に指定例を示します。文字のエンコードを指定します。起動ポートの変更スタンドアロンとして動作させる場合の起動ポートを変更するには、「<インストール先ディレクトリ>/conf/jetty.xml」の以下の部分を変更します。ルックアップできるように設定しておく必要があります。サーバを利用するように設定されています。サーバを利用する場合は、「<インストール先ディレクトリ>/conf/jetty.xml」の以下の部分を変更します。利用しない場合は省略することができます。公式サイトの情報が少ないので、実際に動作させながら確認した情報も加えて説明します。