インスペクション
インスペクション (IntelliJ IDEA) ビルドランナーは、プロジェクトの IntelliJ IDEA インスペクションに基づいてコード分析を実行することを目的としています。TeamCity が最初の起動時に自動的にダウンロードしてインストールするバージョンに加えて、JetBrains、IntelliJ、インスペクション、Duplicates Engine の別のバージョンをインストールしたり、管理 | ツールページを使用してデフォルトを変更したりすることも可能です。
IntelliJ IDEA のコード分析エンジンは、Java、JavaScript、HTML、XML およびその他のコードをインスペクションでき
ありそうなバグを見つけます。
「デッド」コードを見つけます。
パフォーマンスの問題を検出します。
コードの構造と保守性を改善します。
コードがガイドライン、標準、仕様に準拠していることを確認してください。
詳細は IntelliJ IDEA のドキュメントを参照してください。
このページには、インスペクション (IntelliJ IDEA) ビルドランナーフィールドに関するリファレンス情報が含まれています。
IntelliJ IDEA プロジェクト設定
オプション | 説明 |
|---|---|
プロジェクトファイルの種類 | コードで IntelliJ IDEA インスペクションを実行できるようにするには、TeamCity で IntelliJ IDEA プロジェクトファイル / ディレクトリ、Maven |
プロジェクトへのパス | プロジェクトファイルの種類で選択したプロジェクトの種類に応じて、ここで指定します。
|
| このオプションは、IntelliJ IDEA プロジェクトを使用してインスペクションを実行する場合に使用できます。IntelliJ IDEA では、モジュール設定は |
プロジェクトのチェック / 再解析 | このオプションは、IntelliJ IDEA プロジェクトを使用してインスペクションを実行する場合に使用できます。このボタンをクリックすると、IntelliJ IDEA プロジェクトが再解析され、プロジェクトからビルド設定 (JDK のリストなど) が直接インポートされます。 |
作業ディレクトリ | ビルドチェックアウトディレクトリと異なる場合は、作業ディレクトリを構築するへのパスを入力してください。 オプションで、チェックアウトディレクトリと異なる場合は指定します。 |
未解決のプロジェクトモジュールとパス変数
このセクションは、IntelliJ IDEA モジュールファイル(.iml)が IntelliJ IDEA プロジェクトファイルから参照されている場合に表示されます。
見つからない
IPR ファイルで使用されているパス変数の値を入力できます。
このセクションの値をリフレッシュするには、プロジェクトのチェック / 再解析をクリックします。
オプション | 説明 |
|---|---|
<path_variable_name> | このフィールドは、プロジェクトファイルに IntelliJ IDEA 設定のパス変数ダイアログで定義されたパスマクロが含まれている場合に表示されます。値をフィールドに設定で、さまざまなビルドエージェントで使用するプロジェクトリソースへのパスを指定します。 |
プロジェクト SDK
このセクションでは、プロジェクトで検出された SDK のリストを提供します。
オプション | 説明 |
|---|---|
JDK ホーム | このフィールドを使用して、プロジェクトの JDK ホームを指定します。 |
JDK Jar ファイルパターン | このリンクをクリックすると、プロジェクト JDK の jar ファイルのテンプレートを定義できるテキスト領域が開きます。Ant ルールを使用して、jar ファイルパターンを定義します。Linux および Windows オペレーティングシステムでは、デフォルト値が使用されます。
jre/lib/*.jar
macOS の場合は、次の行を使用してください。
lib/*.jar
../Classes/*.jar
|
IDEA ホーム | プロジェクトで IDEA JDK を使用している場合は、IDEA ホームディレクトリの場所を指定します。 |
IDEA Jar ファイルパターン | このリンクをクリックしてテキスト領域を開き、IDEA JDK の jar ファイルのテンプレートを定義できます。 |
Java パラメーター
- JDK
JDK を選択してください。このセクションは利用可能なオプションを詳しく述べています。デフォルトは
JAVA_HOME環境変数またはエージェント自身の Java です。- JDK ホームパス
このオプションは、上で <カスタム> を選択した場合に使用できます。このフィールドを使用して、ビルドの実行に使用するカスタム JDK へのパスを指定します。このフィールドを空白のままにすると、JDK ホームへのパスは、エージェントマシンの
JAVA_HOME環境変数から、またはビルドエージェント構成ファイル (buildAgent.properties) で指定されたenv.JAVA_HOMEプロパティから読み取られます。これらの値が指定されていない場合、TeamCity はビルドエージェントプロセス自体の Java ホームを使用します。- JVM コマンドラインパラメーター
追加の JVM コマンドラインパラメーターを使用すると、初期および最大ヒープサイズの設定、追加のログの有効化、必要なバイトコード検証モードの選択などを行うことができます。
標準 (
-で始まる、たとえば-verbose:[class|module|gc|jni]または--dry-run) と非標準 (-Xで始まる、たとえば-Xmx<size>または-XstartOnFirstThread) の両方の JVM オプションを指定できます。複数のコマンドラインパラメーターを指定するには、区切り文字としてスペースを使用します。例:
-verbose:gc -Xdiag -Xcomp -Xmx512m -Xms256m
インスペクションパラメーター
IntelliJ IDEA ベースの IDE では、報告されるコードインスペクションはインスペクションプロファイルによって構成されます。
TeamCity でインスペクションを実行する場合、使用するインスペクションプロファイルを指定できます。まず、IntelliJ IDEA ベースの IDE でインスペクションプロファイルを構成し、次に TeamCity でそれを指定する必要があります。
インスペクションプロファイルを準備するときは、次の規則に従ってください。
インスペクションプロファイルがスコープを使用する場合、スコープが共有されていることを確認してください。
プロファイルをロックします(これにより、TeamCity に存在するが IDEA インストールで有効になっていないインスペクションは TeamCity によって実行されなくなります)。
デフォルトの IntelliJ IDEA Ultimate ディストリビューションに含まれていないプラグインによって提供されるインスペクションがプロファイルに含まれていないことを確認してください(そうでない場合は、TeamCity によって無視されます)。
最良の結果を得るには、TeamCity で使用されるのと同じバージョンの IntelliJ IDEA でインスペクションプロファイルを編集します(インスペクションビルドログで検索できます)。
インスペクションプロファイルを選択するロジックは次のとおりです。
インスペクションプロファイルへのパスが指定されている場合、プロファイルはファイルからロードされます。ロードが失敗すると、インスペクションランナーも失敗します。
インスペクションプロファイルの名前が指定されている場合、プロジェクトの共有プロファイルでプロファイルが検索されます。そのようなプロファイルがない場合、インスペクションランナーは失敗します。
名前もパスも指定されていない場合、プロジェクトのデフォルトプロファイルが使用されます。
オプション | 説明 |
|---|---|
インスペクションプロファイルパス | このテキストフィールドを使用して、プロジェクトのルートディレクトリに相対的なインスペクションプロファイルファイルへのパスを指定します。このフィールドは、「インスペクションプロファイル名」で指定された共有プロジェクトプロファイルを使用しない場合にのみ使用します。 |
インスペクションプロファイル名 | 目的の共有プロジェクトプロファイルの名前を入力します。フィールドが空白のままで、プロファイルパスが指定されていない場合、デフォルトのプロジェクトプロファイルが使用されます。 |
パターンを含める / 除外する: | オプションで、インスペクションを実行するソーススコープを制限するように指定します。 |
包含 / 除外パターンは、改行で区切られた次の形式のルールのセットです。
ここで、パターンは次のルールを満たさなければなりません。
**または*のいずれかで終了する必要があります(これにより、パターンは実質的にディレクトリレベルのみに制限され、ファイルレベルのパターンはサポートされません)。モジュールへの参照は
[<IDEA_module_name>]/<path_within_module>として含めることができます。Maven プロジェクトが構成されている場合、Maven モジュールの artifactId を<IDEA_module_name>として使用できます。構成されたパスは、IDEA プロジェクトモジュールのコンテンツルート内の相対パスとして扱われます。つまり、パスはモジュールのルートに対して相対的でなければなりません。
パターン処理に関する注意事項:
除外は包含よりも優先されます
include パターンが指定されている場合、これらのパターンに一致するディレクトリだけが含まれ、その他のすべてのディレクトリは除外されます。
include パターンには特別な動作があります(根本的な制限のため): 指定されたディレクトリと、指定されたディレクトリより上のディレクトリに直接存在するすべてのファイルが含まれます。
例:
Maven インスペクション実行の場合、プロジェクト JDK に正しい Java が使用されるようにするには、プロジェクト JDK として使用される JDK を指す env.JAVA_HOME 構成パラメーターを定義します。
IntelliJ IDEA および TeamCity インスペクションビルドで同じ結果を取得する
IntelliJ IDEA および TeamCity Java コードインスペクションビルドによって報告されるコードインスペクションは、多くの要因に依存します。同じレポートを取得するには、IntelliJ IDEA とビルドの設定を等しくする必要があります。関連する設定は次のとおりです。
IntelliJ IDEA および TeamCity ビルドで使用されるインスペクションプロファイル。
環境固有のプロジェクトの依存関係(バージョン管理にないファイルなど)。
定義された SDK、パス変数などの IDE レベルの設定。
生成ファイル: IntelliJ IDEA でプロジェクトを操作するときに存在する場合は、TeamCity エージェントに存在する必要があります。
IntelliJ IDEA バージョン。TeamCity ビルドで使用されているものと同じ IntelliJ IDEA バージョンを使用することをお勧めします。バージョンはインスペクションビルドログに書き込まれます。
プロジェクトが依存する IntelliJ IDEA プラグインのセットとバージョン。
関連ページ:
コードインスペクション
IntelliJ IDEA には、プロジェクトをコンパイルする前に、プロジェクト内の異常なコードを検出して修正する一連のコードインスペクションがあります。IDE は、さまざまな問題を見つけてハイライトし、デッドコードを見つけ、考えられるバグやスペルの問題を見つけ、全体的なコード構造を改善することができます。インスペクションは、すべてのプロジェクトファイルまたは特定のスコープでのみ(たとえば、本番コードまたは変更されたファイルでのみ)コードをスキャンできます。すべてのインスペクションには、問題がコ...
エージェントツールのインストール
TeamCity では、エージェントツールは、エージェントを構築するためのファイルをディストリビューションするためだけに使われるプラグインの一種です。エージェントツールは、ファイルのセットまたはバイナリディストリビューションになります。そのクラスはランタイムにロードされません。TeamCity を使用すると、サーバー上で追加のツールをインストール / 削除し、オンデマンドでエージェントを構築するために配布することができます。ビルドエージェントが多数ある環境では、構成ファイルのディストリビューショ...
インスペクションプロファイル
インスペクションプロファイルには、有効なインスペクション、これらのインスペクションが分析するファイルの範囲、およびインスペクションの重大度設定に関する情報が保持されます。IntelliJ IDEA には、次の 2 種類のプロファイルがあります。グローバルですべてのプロジェクト (IDE レベル) で使用できるプロファイル IDE に保管。1 つのプロジェクト (プロジェクトレベル) でのみ使用可能なプロファイルプロジェクトに保管。レベル間でプロファイルを移動する詳細を参照してください。Intell...
詳細な構成
IDE 設定で使用できる標準オプションに加えて、IntelliJ IDEA を使用すると、基盤となるプラットフォームと Java ランタイムの低レベルの構成を実行できます。JVM オプション:IntelliJ IDEA は、パフォーマンスを制御するさまざまなオプションを備えた Java 仮想マシン (JVM) 上で実行されます。IntelliJ IDEA を実行するために使用されるデフォルトのオプションは、IDE インストールディレクトリで指定されます。<IDE_HOME>\bin\...
エージェント要件の設定
エージェントの要件は、ビルド構成を実行できるエージェントを指定する条件です。現在存在するすべての要件を表示して新しい要件を作成し、特定の構成を実行できるエージェントを確認するには、ビルド設定 | エージェント要件にアクセスしてください。エージェント要件ビデオガイド:要件構文:エージェント要件は式です。ここは、定義済みまたはカスタム (ユーザー定義) のビルドパラメーターです。例: エージェントにインストールされているオペレーティングシステムを報告するパラメーター。要件では、エージェントがこの特...
インスペクション (ReSharper)
インスペクション (ReSharper) ビルドランナーを使用すると、バンドルされている JetBrains ReSharper コマンドラインツールを使用して、TeamCity で JetBrains ReSharper コード品質分析機能の利点を活用できます。追加の ReSharper ライセンスなしで、TeamCity 内でツールを使用できます。ReSharper は、C#、VB.NET、XAML、XML、ASP.NET、ASP.NET MVC、JavaScript、HTML、CSS コードを分...