## Travis CIとの統合 Travis CIとの統合 |

## はじめに

このセクションでは Travis CI 上で Cutterを使う方法について説明します。

Travis CIはオープンソースコミュニティ用の継続的インテグレーション（CI）サービスです。

オープンソースソフトウェアを開発しているならTravis CIを使えます。 このセクションではCutter関連の設定のみ説明します。 Travis CI一般については Travis CI を読んでください。

## 設定

Travis CIは64-bit版のUbuntu 12.04を使っています。（ Travis CI: About Travis CI Environment 参照。） Travis CIにCutterをインストールするために、Cutterプロジェクトが提供している Ubuntu 12.04用のapt-lineを使えます。

`.travis.yml` でビルド方法を変更することができます。（ Travis CI:Conifugration your Travis CI build with .travis.yml 参照。）

プロジェクトの使用言語に応じて `before_install:` フックまたは `install:` フックを使います。

### C/C++の設定

C/C++の場合、デフォルトとなる依存関係のインストールが行われないため、 `install:` フックを使ってセットアップスクリプトを実行するのがお勧めです。 [1]

以下の `install:` の設定を `.travis.yml` に加えます:

    install:
      - curl --silent --location https://raw.github.com/clear-code/cutter/master/data/travis/setup.sh | sh

上記の設定でビルド中にCutterを使えるようになります。

### その他の言語の設定

ライブラリの言語バインディングを書いていて、そのテストをCutterを使って 実施しているプロジェクトでは、プロジェクトの言語ごとのデフォルトとなる依存関係の インストールルールを上書きしないように `before_install:` フックを使って セットアップスクリプトを実行するのがお勧めです。 [2]

以下の `before_install:` の設定を `.travis.yml` に加えます:

    before_install:
      - curl --silent --location https://raw.github.com/clear-code/cutter/master/data/travis/setup.sh | sh

上記の設定でビルド中にCutterを使えるようになります。

## 例

Travis CI上でCutterを使っているフリーソフトウェアは以下の通りです。

- Goonga

  - Travis CIでのGroongaのビルド結果

  - Groonga用の.travis.yml

[1] Travis CI: Building a C Project 「Dependency Management」や Travis CI: Building a C Project 「Dependency Management」にはデフォルトの依存関係のインストールを行わないと 説明があります。

[2] Travis CI: Configuring your Travis CI build with .travis.yml 「Build Lifecycle」には `install:` でプロジェクトの言語に応じた依存関係の インストールを行うと説明があります。