CircleCI
CircleCI はクラウドベースの CI/CD システムです。このセクションで説明するように、CircleCI Qodana orb(英語) を使用して、Qodana を CircleCI パイプライン(英語)に組み込むことができます。
始める前に
Qodana クラウド
このセクションのすべての構成例では、Qodana Cloud によって生成されたプロジェクトトークンを使用します。このトークンは、有料の Qodana リンターでは必須であり、コミュニティリンターで使用する場合はオプションです。Qodana Cloud UI でプロジェクトトークンを生成する方法については、次のセクションを参照してください。
プロジェクト設定セクションでは、Qodana Cloud を初めて使用する際にプロジェクトトークンを生成する方法について説明します。
プロジェクトを管理するセクションでは、既存の Qodana Cloud 組織内でプロジェクトトークンを作成する方法について説明します。
プロジェクトトークンを取得したら、パイプラインまたはワークフローで識別するために QODANA_TOKEN 変数を使用できます。
https://qodana.cloud/ 以外の Qodana Cloud インスタンスを使用している場合は、QODANA_ENDPOINT 環境変数を設定して上書きします。
プロジェクトを準備する
CircleCI 組織設定で、セクションに移動し、
qodanaコンテキスト(英語)を定義します。セクションで、
qodanaコンテキストをクリックします。このコンテキストで、QODANA_TOKEN環境変数を定義し、プロジェクトトークンをその値として保存します。CircleCI 組織設定で、セクションに移動します。このセクションで、認定されていないパブリック Orbs(英語) の使用を許可します。
必要に応じて、リポジトリに CircleCI 構成を含む
.circleci/config.ymlファイルを作成します。
引数表記
Qodana は、引数を指定する際にシェルライクな表記法をサポートしています。この表記法では、キーと値をスペースで区切り、値をシングルクォートまたはダブルクォートで囲みます。これは、Qodana の設定時に引数を指定する推奨方法です。
この表には、両方の表記法の例が含まれています。
サンプル | 実際の表記 | 従来の記法 |
|---|---|---|
単一の引数 |
--profile-name qodana.starter
|
--profile-name,qodana.starter
|
2 つの論点 |
--fail-threshold 10
--property key=value
|
--fail-threshold,10
--property,key=value
|
スペース文字を含む値に引用符を使用する |
--property "key=some value"
|
--property,"key=some value"
|
後方互換性のために、従来のコンマ区切り表記は引き続きサポートされていますが、非推奨であり、Qodana の将来のバージョンで削除されます。
基本構成
.circleci/config.yml ファイルに次の構成を保存します。
この表では構成要素について説明します。
構成ブロック | 説明 |
|---|---|
| CircleCI Qodana orb を呼び出してそのバージョンを設定します |
| プロジェクトを準備する章で定義されている |
| |
この構成については、以下のセクションで拡張します。
ベースラインと品質ゲート
この構成では、 args パラメーターを使用してベースラインゲート機能と品質ゲート機能を呼び出します。
特定のリンター
この構成サンプルでは、 args パラメーターを使用して、jetbrains/qodana-jvm などの特定のリンターを実行します。
特定のブランチ
この構成は、Qodana に main ブランチの変更のみを分析するように指示します。
コマンドとパラメーター
CircleCI の Qodana オーブは、プロジェクトを分析し、分析レポートを生成するための scan コマンドを提供します。
この表には、scan コマンドでさらに使用できるオプションの文字列パラメーターのリストが含まれています。
パラメーター | 説明 | デフォルト値 |
|---|---|---|
| 生成されたキャッシュハッシュをカスタマイズする |
|
| 生成されたキャッシュハッシュをカスタマイズする |
|
| Qodana CLI(英語) | デフォルト値がありません |
| 分析レポートのアップロードに使用される分析アーティファクトの名前 |
|
| Qodana キャッシュのディレクトリ |
|
| 分析レポートを保存するディレクトリ |
|
関連ページ:
プロジェクトトークン
一般に利用可能な有料リンターでは、Qodana の実行中に変数を使用してプロジェクトトークンを提供する必要があります。例:qodana scan \ -e QODANA_TOKEN=
クイックスタート
現行バージョンの Qodana(2026.1)では、様々なプログラミング言語や技術を用いたソフトウェアを解析できます。また、利用可能な機能を使って、デフォルトの Qodana 設定を拡張することも可能です。例として、このセクションでは、以下を使用して Qodana の操作をすぐに開始できる方法について説明します。JetBrains IDE、コマンドラインインターフェース、GitHub アクション、Gradle プラグインとして、前提条件:Qodana Cloud でプロジェクトを設定する Qod...
プロジェクト
プロジェクトは Qodana レポートを蓄積します。各プロジェクトはプロジェクトトークンによって一意に識別されます。プロジェクトの作成:チームページで、ボタンをクリックします。プロジェクトのセットアップ段階を完了します。この段階の詳細については、前提条件セクションを参照してください。プロジェクトを管理する:プロジェクトが作成された後、その VCS に移動して VCS 設定を更新したり、プロジェクトを別のチームに移動したり、プロジェクトの名前を変更したり、ここですでに使用可能なプロジェクトトーク...
ベースライン
ベースラインは、特定の Git ブランチに対する特定の Qodana 分析で取得されたコードベースの問題のスナップショットであり、ファイルに格納されています。ベースライン機能を使用すると、現在のコードとベースラインの状態を比較し、新規の問題、変更されていない問題、解決済みの問題を確認できます。たとえば、ブランチのベースラインを設定・更新することで、プルリクエストやマージリクエストのマージ後の変更を監視できます。必要に応じて、新しいファイルを生成し、Qodana の実行中に使用することで、ベースラ...
GitHub アクション
Qodana Scan GitHub アクションを使用すると、GitHub リポジトリで Qodana を実行できます。プロジェクトを準備する:Qodana クラウドこのセクションのすべての構成例では、Qodana Cloud によって生成されたプロジェクトトークンを使用します。このトークンは、有料の Qodana リンターでは必須であり、コミュニティリンターで使用する場合はオプションです。Qodana Cloud UI でプロジェクトトークンを生成する方法については、次のセクションを参照してく...