TeamCity On-Premises 2026.2 Help

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 をインストールするには、次を実行します。

gem install <gem_name>

詳細については、 Ruby Gems マニュアル(英語)を参照できます。

gem コマンドの代わりに、 Bundler gem(英語) を使用して gems をインストールできます。

重要な注意事項

  • Ruby の 保留中のスペックは、 概要 タブに 無視されたテスト として表示されます。

  • Rake Runner は独自の単体テストランナーを使用し、 RUBYLIB 環境変数を使用してそれをロードします。 プログラムがこの環境変数をクリアしないようにする必要がありますが、パスを追加することもできます。

  • Windows OS で --color オプションを有効にして RSpec を実行する場合、RSpec は win32 コンソール 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 タスク

デフォルト タスクを使用したくない場合は、スペースで区切ったタスク名を入力してください。 例: test:functionals または mytask:test mytask:test2

追加の 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 がバンドラーセットアップスクリプトをロードしない場合、このオプションを使用すると、 bundle exec コマンドエミュレーションを使用して rake タスクを起動できます。 bundle install コマンドを実行する場合は、 Rake ステップの前に コマンドラインステップで実行する必要があります。 また、Ruby インタープリターをコマンドラインランナーに自動的に渡すために、 Ruby 環境コンフィギュレーター ビルド機能を設定することも忘れないでください。

デバッグ

invoke/execute ステージをトラック オプションをオンにすると、ビルドログに 呼び出すステージデータが表示されるようになります。

テストレポート

オプション

説明

添付報告者

TeamCity にテスト結果を専用の テストタブビルド結果 ページ内)に表示させたい場合は、使用するテストフレームワークをここで選択します: Test::Unit、Test-Spec、Shoulda、RSpec、Cucumber。

既知の課題

  • Rake タスクまたはテストが 1 つのビルドのスコープ内で並行して実行される場合、ビルドの出力とテストの結果は不正確になります。

  • RVM を使用している場合は、現在の rvm SDK が設定されていないときに TeamCity エージェントを起動するか、最初に rvm system を呼び出すことをお勧めします。

追加のランナーオプション

これらのオプションは、 ビルドパラメーターセクションのシステムプロパティを使用して構成できます。

オプション

説明

system.teamcity.rake.runner.gem.rake.version

Rake ビルドの起動に使用する rake gem を指定できます。

system.teamcity.rake.runner.gem.testunit.version

アプリケーションが(Ruby sdk に)インストールされている最新以外のテストユニット gem バージョンを使用している場合は、ここで指定します。 そうしないと、Test::Unit テスト報告者が誤った gem バージョンを読み込もうとし、実行時の動作に影響を与える可能性があります。 テストユニット gem がインストールされているが、アプリケーションが Ruby 1.8.x SDK にバンドルされている Test::Unit を使用している場合は、バージョン値を「組み込み」に設定します。

system.teamcity.rake.runner.gem.bundler.version

指定されたバンドラー gem バージョンのバンドラーエミュレーションを起動します(gem はエージェントにすでにインストールされている必要があります。

system.teamcity.rake.runner.custom.gemfile

チェックアウトディレクトリのルートにない場合、Gemfile をカスタマイズします。

system.teamcity.rake.runner.custom.bundle.path

TeamCity が <Gemfile_containing_directory>/.bundle/config から正しく取得できない場合に BUNDLE_PATH を設定します。

Rake サポートは、オープンソースプラグインとして実装されています。 開発リンクについては、 プラグインのリポジトリ(英語)を参照してください。

2026 年 9 月 11 日