Rake
Rake ビルドランナーは、Test::Unit、Test-Spec、Shoulda(英語)、RSpec(英語)、Cucumber(英語) テストフレームワークをサポートします。Rake、0.7.3、gem 以降で Ruby バージョンマネージャー (MRI Ruby、JRuby、IronRuby、REE、MacRuby など) を使用してインストールされた Ruby インタープリターと互換性があります。
前提条件
Ruby インタープリター (MRI Ruby、JRuby、IronRuby、REE、MacRuby など) と rake 0.7.3 gem 以上 (必須)、および Ruby (または ROR) プロジェクトとテストフレームワークに必要なすべての gems が、少なくとも 1 つのビルドエージェントにインストールされていることを確認してください。複数の Ruby インタープリターを異なるディレクトリにインストールできます。Linux/macOS では、RVM(英語) または rbenv (英語) を使用して構成する方が簡単です。コマンドラインビルドランナーステップを使用して、Ruby インタープリターと必要な Ruby gems をインストールできます。これらのインタープリターのエージェント要件を自動的に構成する場合は、ビルドエージェント構成プロパティにそのパスを登録し、Rake ビルドランナーの構成でそのようなプロパティ名を参照する必要があります。gem をインストールするには、次を実行します。
詳細については、Ruby Gems マニュアル(英語)を参照できます。
gem コマンドの代わりに、Bundler gem(英語) を使用して gems をインストールできます。
注意事項
Ruby の保留中のスペックは、概要タブに無視されたテストとして表示されます。
Rake Runner は独自の単体テストランナーを使用し、
RUBYLIB環境変数を使用してそれをロードします。プログラムがこの環境変数をクリアしないようにする必要がありますが、パスを追加することもできます。Windows OS で
--colorオプションを有効にして RSpec を実行する場合、RSpec は win32console gem をインストールすることを提案します。この警告はビルドログに表示されますが、無視してかまいません。TeamCity Rake ランナーは、ビルドログの色付き出力をサポートしておらず、この機能を使用していません。Rake Runner は、カスタムフォーマッターを使用してスペック例を実行します。追加のコンソールフォーマッタを使用すると、ビルドログに冗長な情報が含まれます。
rakefile の
Spec::Rake::SpecTask.spec_optsは、SPEC_OPTSコマンドラインパラメーターの影響を受けます。Rake Runner は常にSPEC_OPTSを使用してカスタムフォーマッタを設定します。Web UI でスペックオプションを設定する必要があります。Cucumber テストオプションにも同じ制限があります。ビルド結果に HTML レポートを含めるには、対応するレポートタブを追加します。
Rake ランナー設定
Rake パラメーター
オプション | 説明 |
|---|---|
Rakefile ファイルへのパス | デフォルトのパスを使用したくない場合は、Rakefile パスを入力します。指定されたパスは、ビルドチェックアウトディレクトリに相対的でなければなりません。 |
Rakefile コンテンツ | 既存の Rakefile を使用する代わりに、Rakefile のコンテンツを入力します。Rake を実行する前に、指定されたコンテンツから新しい Rakefile が動的に作成されます。 |
作業ディレクトリ | オプション。ビルドチェックアウトディレクトリと異なるかどうかを指定します。 |
Rake タスク | |
追加の Rake コマンドラインパラメーター | 指定されたパラメーターが
ruby rake <Additional Rake command line parameters>
<TeamCity Rake Runner options, e.g TESTOPTS> <tasks>
|
Ruby インタープリター
オプション | 説明 |
|---|---|
デフォルトの Ruby を使用 | Ruby 環境コンフィギュレータビルド機能設定で定義された Ruby インタープリター設定を使用するか、 |
Ruby インタープリターパス | Ruby インタープリターへのパス。パスを空にすることはできません。このフィールドは、環境変数とシステム変数の値をサポートします。例:
%\env.I_AM_DEFINED_IN_BUILDAGENT_CONFIGURATION%
|
RVM インタープリター | ここで、RVM インタープリター名と、オプションでビルドエージェントで構成された gemset を指定します。インタープリター名は空にできません。gemset が指定されていない場合、デフォルトのものが使用されます。 |
起動パラメーター
オプション | 説明 |
|---|---|
Bundler: バンドル exec | プロジェクトで Bundler の要件(英語)マネージャーを使用し、Rakefile がバンドラーセットアップスクリプトをロードしない場合、このオプションを使用すると、 |
デバッグ | 起動 / 実行ステージを追跡するオプションをオンにすると、ビルドログに呼び出すステージデータが表示されるようになります。 |
テストレポート
オプション | 説明 |
|---|---|
添付報告者 | TeamCity でビルド結果ページの専用テストタブにテスト結果を表示する場合は、使用するテストフレームワークをここで選択します: Test::Unit、Test-Spec、Shoulda、RSpec、Cucumber。 |
既知の問題
Rake タスクまたはテストが 1 つのビルドのスコープ内で並行して実行される場合、ビルドの出力とテストの結果は不正確になります。
RVM を使用している場合は、現在の rvm SDK が設定されていないときに TeamCity エージェントを起動するか、最初に
rvm systemを呼び出すことをお勧めします。
追加のランナーオプション
これらのオプションは、ビルドパラメーターセクションのシステムプロパティを使用して構成できます。
オプション | 説明 |
|---|---|
| Rake ビルドの起動に使用する rake gem を指定できます。 |
| アプリケーションが(Ruby sdk に)インストールされている最新以外のテストユニット gem バージョンを使用している場合は、ここで指定します。そうしないと、Test::Unit テスト報告者が誤った gem バージョンを読み込もうとし、実行時の動作に影響を与える可能性があります。テストユニット gem がインストールされているが、アプリケーションが Ruby 1.8.x SDK にバンドルされている Test::Unit を使用している場合は、バージョン値を「組み込み」に設定します。 |
| 指定されたバンドラー gem バージョンのバンドラーエミュレーションを起動します(gem はエージェントにすでにインストールされている必要があります。 |
| チェックアウトディレクトリのルートにない場合、Gemfile をカスタマイズします。 |
| TeamCity が |
開発リンク
Rake サポートは、オープンソースプラグインとして実装されています。開発リンクについては、プラグインのリポジトリ(英語)を参照してください。
関連ページ:
コマンドライン (スクリプト)
コマンドライン(ビルド構成内)またはスクリプト(パイプライン内)は、TeamCity の中で最も柔軟なビルドステップです。エージェントマシン上で直接コマンドを実行するため、インストールされている任意のツール(cURL、Homebrew、Python、Unreal Engine など)との連携が可能になります。ツール固有の TeamCity ステップの代替として使用することもできます。たとえば、ゴールで Maven ステップを使用する代わりに、スクリプトを実行します。ステップ設定:スクリプトステップ...
テスト
RubyMine は、Ruby/Rails アプリケーションのテストに使用される最も一般的なフレームワークとの統合を提供します。複数または個別のテストを実行したり、テストとテスト対象間を移動したり、不足しているテストを作成したりできます。サポートされているテストフレームワークとツール:次のテストフレームワークとツールがサポートされています。MinitestMinitest は、TDD および BDD アプローチ、モック、ベンチマークをサポートするテストフレームワークです。RubyMine で...
ビルド結果にサードパーティのレポートを含める
レポートツールが HTML 形式でレポートを作成する場合、TeamCity をカスタムタブで拡張して、サードパーティのレポートツールが提供する情報を表示できます。ツールによって提供されるレポートは、ビルド結果ページまたはプロジェクトホームページのいずれかに表示できます。一般的な流れは次のとおりです。HTML レポート(できれば zip アーカイブ内)を生成するようにビルドスクリプトを構成します。レポートをビルドアーティファクトとしてサーバーに公開するように構成します。この時点で、アーカイブがビル...
ビルドチェックアウトディレクトリ
ビルドチェックアウトディレクトリは、特定の VCS ルートからのビルドソースがチェックアウトされる TeamCity エージェントマシン上のディレクトリです。ビルド構成が同じ VCS ルートで構成されている場合、このディレクトリは複数のビルド構成間で共有できます。詳細については、デフォルトのチェックアウトディレクトリおよびカスタムチェックアウトディレクトリを参照してください。チェックアウトプロセス:チェックアウトプロセスは、次のように VCS チェックアウトモードの影響を受けます。エージェント側チ...
ビルド結果ページ
TeamCity では、ビルドに関するすべての情報 (キューに入っているか、実行中か、完了しているかに関係なく) がビルド結果ページに蓄積されます。ビルド結果を表示するには、任意の構成を選択してビルド履歴を表示し、必要なビルド番号をクリックします。このページには、いくつかの静的タブ (概要、変更、ビルドログ、アーティファクトなど) と、特定の構成機能に応じて表示が決まるコンテキストタブが含まれます。例: 依存関係タブは、親構成がビルドチェーンに属するビルドに対してのみ表示されます。内部ビルド ID...
ビルドパラメーターの設定
パラメーターは、TeamCity 設定およびビルドスクリプトの構文を介して参照するペアです。パラメーター部分は、生の値 () にすることも、別のパラメーターへの参照 () を含めることもできます。パラメーター型:TeamCity は次の 3 種類のパラメーターをサポートします。構成パラメーター — ビルド構成内で設定を共有することを主な目的とするパラメーター。これらのパラメーターを使用して、テンプレートから作成された構成やレシピを使用する構成をカスタマイズすることもできます。TeamCity は...