TeamCity
Qodana は、TeamCity で Qodana
ビルドランナーとして使用できます。使用を開始するには、次の前提条件を満たす必要があります。
TeamCity をプロジェクトのビルドサーバーとして使用します。そうでない場合は、TeamCity のドキュメントでその方法を学習してください。
プロジェクト言語は、完全にサポートされているテクノロジのリストに含まれています。
独自の TeamCity エージェントを使用する場合は、Docker がエージェントマシンにインストールされており、TeamCity を実行しているユーザーがアクセスできることを確認してください。JetBrains がホストする TeamCity エージェントはすでにこの条件を満たしています。
Qodana ランナーを追加
プロジェクトとビルド構成がすでに作成されていると仮定して、以下の手順に従います。
TeamCity UI で、Qodana を実行するビルドの構成ページに移動します。
- ページで、
ページで、 ボタンをクリックしてください。
開いたページで、
ランナーを選択します。ページで、 をクリックし、 ランナーを構成します。
は、他のビルドステップの中でこのステップを一意に識別します。
は、他のビルドステップの中でこのステップを一意に識別します。
は、このビルドステップをトリガーするビルド条件を構成します。
TeamCity のドキュメントを参照してください。 タブで
はビルドプロセスのディレクトリを設定します。詳細については、Checkout directory
パラメーターが指定されている場合は、このフィールドを空のままにすることができます。はレポートを一意に識別するため、単一のビルド内で複数のインスペクションステップが構成されている場合に複数のレポートを区別できるようになります。
「テスト」タブで Qodana レポートの可用性を構成します。このオプションを使用すると、検出された他の問題とともにコードベースの問題を表示できます。
チェックボックスは、TeamCity UI のQodana リンターを構成します。
は
はデフォルトでLatest
に設定されています。インスペクションプロファイルを定義します:
はRecommended (default)
はデフォルトプロファイルの 1 つです。Embedded profile
ではデフォルトのプロファイルを選択できます。詳細については、既存の Qodana プロファイルセクションを参照してください。Path to the IntelliJ profile
を使用すると、カスタムプロファイルへのパスを指定できます。このオプションを使用するには、qodana.yaml
ファイルでもカスタムプロファイルを構成する必要があります。
プロジェクトトークンを構成します。
は、Qodana Cloud で生成されたシェルコマンドセクションを参照してください。
は、Docker イメージによって受け入れられる引数を構成します。詳細については、オプションセクションを参照してください。
を使用すると、デフォルトの Qodana 機能を拡張できます。詳細については、
ボタンをクリックしてください。
品質ゲートとベースライン
Qodana
ランナー構成の追加の Qodana 引数フィールドを使用して、品質ゲートとベースライン機能を構成できます。
品質ゲートを構成するための
--fail-threshold <number>
オプションベースラインを構成するための
--baseline <path/to/qodana.sarif.json>
オプション。
両方のオプションを設定するには、追加の Qodana 引数フィールドでスペース文字を使用して区切ります。
プルリクエストと特定のブランチを分析する
プルリクエストとマージリクエストを分析するための TeamCity の構成に関する情報は、TeamCity ドキュメントポータルで入手できます。
特定のブランチを分析する方法については、TeamCity ドキュメントのトリガー設定セクションを参照してください。
設定スクリプトを追加する
Qodana リンターのカスタムプロファイル構成は、 qodana.yaml
ファイルに保存されます。CI システムを使用する場合は、このファイルを手動で作業ディレクトリに配置する必要があります。または、自動的にそれを実行するスクリプトを作成することもできます。
TeamCity UI で、Qodana を実行するビルドの構成ページに移動します。
- ページで、
ページで、 ボタンをクリックしてください。
開いたページで、
Command line
ランナーを選択します。TeamCity ドキュメントポータルの説明に従って、
Command line
ランナーを構成します。
フィールドに、作業ディレクトリにカスタム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 を使用して分析結果を表示することもできます。次の手順に従います。
プロジェクトビルドページに移動します。
タブで、ビルドエントリをクリックします。ビルドページで、インスペクションレポートセクションを参照してください。
タブに移動してインスペクションレポートを見つけます。Qodana レポートの詳細については、このドキュメントの
関連ページ:
![](https://pleiades.io/icons/teamcity.png)
ビルドランナー
ビルドランナーは TeamCity の一部であり、特定のビルドツール(Ant、MSBuild、コマンドラインなど)との統合を可能にします。ビルド構成では、ビルドランナーは、ビルドを実行してその結果を報告する方法を定義します。技術的には、ビルドランナーはプラグインとして実装されます。各ランナーには 2 つの部分があります。Web UI を介して構成されたサーバー側の設定、エージェントでビルドを実行するエージェント側の部分、バンドルされたランナーの構成手順は、ビルドステップの設定セクションにリストさ...
![](https://resources.jetbrains.com/help/img/teamcity/2024.03/CreateProject1.png)
最初のビルドを構成して実行する
TeamCity の用語では、ビルドは 1 つ以上のステップで構成され、特定の CI/CD ジョブを実行するプロセスです。ここで説明するように TeamCity をインストールして開始すると、最初のビルドを構成して実行する準備が整います。クイックビデオガイドを見るか、以下の完全なチュートリアルを読むことができます。最初のプロジェクトを作成する:TeamCity でプロジェクトを作成するには、リポジトリ URL から自動的に、特定の VCS への接続から、または手動で作成する方法がいくつかありま...
![](https://resources.jetbrains.com/help/img/teamcity/2024.03/create-build-configuration-button.png)
ビルド構成の作成と編集
このセクションには、TeamCity UI を介してビルド構成を作成および構成する方法に関する記事が含まれています。ビルド構成は、ビルドを開始し、UI でビルドのシーケンスをグループ化するために使用される設定のコレクションです。ビルド構成の例としては、ディストリビューション、統合テスト、リリースディストリビューションの準備、「夜間」ビルドなどがあります。ビルド構成はプロジェクトに属し、ビルドを含みます。ビルド構成の詳細はホームページで確認し、設定ページで設定を変更できます。一連のビルドごとに個別...
![](https://resources.jetbrains.com/help/img/teamcity/2024.03/dk-stepID.png)
ビルドステップの設定
TeamCity プロジェクト内にビルド構成が含まれている場合は、ビルドステップを構成できます。ビルドステップ (「ジョブ」とも呼ばれる) は、ビルドランナーによって実行されるタスクです。1 つのビルド構成には、連続して実行される複数のステップを含めることができます。ビルドステップは、ビルド設定ページのビルドステップセクションで構成されます。このページでは次のことができます。新しいステップを手動で追加します。ソース VCS リポジトリをスキャンすることによるステップの自動検出。ステップをコピーし...
![](https://resources.jetbrains.com/help/img/teamcity/2024.03/exp-build-details.png)
ビルド結果ページ
TeamCity では、ビルドに関するすべての情報は、キューに入れられているか、実行中であるか、終了しているかにかかわらず、ビルド結果ページに蓄積されます。このページには、ビルド構成ホームページから、ホームモードで参照しているときに、ビルド番号またはビルドステータスがリンクとして表示される TeamCity UI のさまざまな場所からアクセスできます。一部のデータは、ビルドが終了した後にのみアクセスできます。変更、パラメーター、依存関係などの詳細は、キューで待機しているビルドにも適用できます。こ...
![](https://pleiades.io/icons/jetbrains_logo.png)
リンター
リンターは、コードベースを分析して、品質に影響を与え、問題を引き起こす可能性のあるバグ、エラー、その他の間違いを見つけるソフトウェアツールです。基本的に、各 Qodana リンターは特定のプログラミング言語に関連付けられており、次のことに役立ちます。異常なコードと考えられるバグを検出、デッドコードを削除する、スペルの問題をハイライトする、全体的なコード構造を改善する、コーディングのベストプラクティスを紹介する、サードパーティのライセンスの互換性を確認します。この機能はいくつかのリンターで利用でき...