Qodana 2024.1 ヘルプ

TeamCity

Qodana は、TeamCity で Qodana ビルドランナーとして使用できます。使用を開始するには、次の前提条件を満たす必要があります。

  • TeamCity をプロジェクトのビルドサーバーとして使用します。そうでない場合は、TeamCity のドキュメントでその方法を学習してください。

  • プロジェクト言語は、完全にサポートされているテクノロジのリストに含まれています。

  • 独自の TeamCity エージェントを使用する場合は、Docker がエージェントマシンにインストールされており、TeamCity を実行しているユーザーがアクセスできることを確認してください。JetBrains がホストする TeamCity エージェントはすでにこの条件を満たしています。

Qodana ランナーを追加

プロジェクトビルド構成がすでに作成されていると仮定して、以下の手順に従います。

  1. TeamCity UI で、Qodana を実行するビルドの構成ページに移動します。

  2. ビルド設定ページで、ビルドステップページに移動します。

  3. ビルドステップページで、ビルドステップを追加ボタンをクリックしてください。

  4. 開いたページで、Qodana ランナーを選択します。

  5. 新しいビルドステップ: Qodana ページで、高度なオプションを表示をクリックし、Qodana ランナーを構成します。

    • ステップ名は、他のビルドステップの中でこのステップを一意に識別します。

    • ステップ ID は、他のビルドステップの中でこのステップを一意に識別します。

    • ステップ実行は、このビルドステップをトリガーするビルド条件を構成します。

    • 作業ディレクトリはビルドプロセスのディレクトリを設定します。詳細については、TeamCity のドキュメントを参照してください。バージョン管理設定タブで Checkout directory パラメーターが指定されている場合は、このフィールドを空のままにすることができます。

    • レポート ID はレポートを一意に識別するため、単一のビルド内で複数のインスペクションステップが構成されている場合に複数のレポートを区別できるようになります。

    • レポートを TeamCity テストに転送するチェックボックスは、TeamCity UI の「テスト」タブで Qodana レポートの可用性を構成します。このオプションを使用すると、検出された他の問題とともにコードベースの問題を表示できます。

    • リンターQodana リンターを構成します。

    • バージョンはデフォルトで Latest に設定されています。

    • インスペクションプロファイル:インスペクションプロファイルを定義します:

    • クラウドトークンは、Qodana Cloud で生成されたプロジェクトトークンを構成します。

    • 追加の Docker 引数は、Docker イメージによって受け入れられる引数を構成します。詳細については、シェルコマンドセクションを参照してください。

    • 追加の Qodana 引数を使用すると、デフォルトの Qodana 機能を拡張できます。詳細については、オプションセクションを参照してください。

    Configuring the Qodana runner
  6. 保存ボタンをクリックしてください。

品質ゲートとベースライン

Qodana ランナー構成の追加の Qodana 引数フィールドを使用して、品質ゲートベースライン機能を構成できます。

  • 品質ゲートを構成するための --fail-threshold <number> オプション

  • ベースラインを構成するための --baseline <path/to/qodana.sarif.json> オプション。

両方のオプションを設定するには、追加の Qodana 引数フィールドでスペース文字を使用して区切ります。

--fail-threshold <number> --baseline <path/to/qodana.sarif.json>

プルリクエストと特定のブランチを分析する

プルリクエストとマージリクエストを分析するための TeamCity の構成に関する情報は、TeamCity ドキュメントポータルで入手できます。

特定のブランチを分析する方法については、TeamCity ドキュメントのトリガー設定セクションを参照してください。

設定スクリプトを追加する

Qodana リンターのカスタムプロファイル構成は、 qodana.yaml ファイルに保存されます。CI システムを使用する場合は、このファイルを手動で作業ディレクトリに配置する必要があります。または、自動的にそれを実行するスクリプトを作成することもできます。

  1. TeamCity UI で、Qodana を実行するビルドの構成ページに移動します。

  2. ビルド設定ページで、ビルドステップページに移動します。

  3. ビルドステップページで、ビルドステップを追加ボタンをクリックしてください。

  4. 開いたページで、Command line ランナーを選択します。

  5. TeamCity ドキュメントポータルの説明に従って、Command line ランナーを構成します。

    Expanding all configuration options of the Command Line runner
  6. カスタムスクリプトフィールドに、作業ディレクトリにカスタム qodana.yaml ファイルを追加するスクリプトを貼り付けます。以下の例では、スクリプトによって次のインスペクション除外が構成ファイルに追加されます。

    #!/bin/sh FILE="./qodana.yaml" /bin/cat <<EOM >$FILE exclude: - name: Annotator - name: AnotherInspectionId paths: - relative/path - another/relative/path - name: ProhibitedDependencyLicense EOM

インスペクションの結果を確認する

ビルドを構成して実行したため、Qodana クラウドで分析結果を調べることができます。

あるいは、TeamCity UI を使用して分析結果を表示することもできます。次の手順に従います。

  1. プロジェクトビルドページに移動します。概要タブで、ビルドエントリをクリックします。

    Navigating to the build entry
  2. ビルドページで、Qodana タブに移動してインスペクションレポートを見つけます。Qodana レポートの詳細については、このドキュメントのインスペクションレポートセクションを参照してください。

    Navigating to the Qodana tab

関連ページ:

ビルドランナー

ビルドランナーは TeamCity の一部であり、特定のビルドツール(Ant、MSBuild、コマンドラインなど)との統合を可能にします。ビルド構成では、ビルドランナーは、ビルドを実行してその結果を報告する方法を定義します。技術的には、ビルドランナーはプラグインとして実装されます。各ランナーには 2 つの部分があります。Web UI を介して構成されたサーバー側の設定、エージェントでビルドを実行するエージェント側の部分、バンドルされたランナーの構成手順は、ビルドステップの設定セクションにリストさ...

最初のビルドを構成して実行する

TeamCity の用語では、ビルドは 1 つ以上のステップで構成され、特定の CI/CD ジョブを実行するプロセスです。ここで説明するように TeamCity をインストールして開始すると、最初のビルドを構成して実行する準備が整います。クイックビデオガイドを見るか、以下の完全なチュートリアルを読むことができます。最初のプロジェクトを作成する:TeamCity でプロジェクトを作成するには、リポジトリ URL から自動的に、特定の VCS への接続から、または手動で作成する方法がいくつかありま...

ビルド構成の作成と編集

このセクションには、TeamCity UI を介してビルド構成を作成および構成する方法に関する記事が含まれています。ビルド構成は、ビルドを開始し、UI でビルドのシーケンスをグループ化するために使用される設定のコレクションです。ビルド構成の例としては、ディストリビューション、統合テスト、リリースディストリビューションの準備、「夜間」ビルドなどがあります。ビルド構成はプロジェクトに属し、ビルドを含みます。ビルド構成の詳細はホームページで確認し、設定ページで設定を変更できます。一連のビルドごとに個別...

ビルドステップの設定

TeamCity プロジェクト内にビルド構成が含まれている場合は、ビルドステップを構成できます。ビルドステップ (「ジョブ」とも呼ばれる) は、ビルドランナーによって実行されるタスクです。1 つのビルド構成には、連続して実行される複数のステップを含めることができます。ビルドステップは、ビルド設定ページのビルドステップセクションで構成されます。このページでは次のことができます。新しいステップを手動で追加します。ソース VCS リポジトリをスキャンすることによるステップの自動検出。ステップをコピーし...

ビルド結果ページ

TeamCity では、ビルドに関するすべての情報は、キューに入れられているか、実行中であるか、終了しているかにかかわらず、ビルド結果ページに蓄積されます。このページには、ビルド構成ホームページから、ホームモードで参照しているときに、ビルド番号またはビルドステータスがリンクとして表示される TeamCity UI のさまざまな場所からアクセスできます。一部のデータは、ビルドが終了した後にのみアクセスできます。変更、パラメーター、依存関係などの詳細は、キューで待機しているビルドにも適用できます。こ...

リンター

リンターは、コードベースを分析して、品質に影響を与え、問題を引き起こす可能性のあるバグ、エラー、その他の間違いを見つけるソフトウェアツールです。基本的に、各 Qodana リンターは特定のプログラミング言語に関連付けられており、次のことに役立ちます。異常なコードと考えられるバグを検出、デッドコードを削除する、スペルの問題をハイライトする、全体的なコード構造を改善する、コーディングのベストプラクティスを紹介する、サードパーティのライセンスの互換性を確認します。この機能はいくつかのリンターで利用でき...