Qodana 2025.3 ヘルプ

デプロイ

このセクションでは、Qodana で使用できるすべてのデプロイオプションについて説明します。

システム要件

要件

最小

推奨

RAM

2 GB の空き RAM

8 GB の総システム RAM

CPU

最新の CPU

マルチコア CPU。Qodana は、さまざまな操作やプロセスに対してマルチスレッドをサポートしており、使用できる CPU コアの数が増えるほど高速化します。

ディスク容量

2.5 すべての依存関係とキャッシュ用の GB + スペース

少なくとも 5 GB の空き容量 + すべての依存関係とキャッシュ用のスペース

オペレーティングシステム

以下の公式リリースバージョン:

  • Microsoft Windows 10 1809 64 ビット以降

  • Windows Server 2019 64 ビット以降

  • macOS 12.0 以降

  • 次の要件を満たす Ubuntu LTS または Fedora Linux ディストリビューションの最新バージョン 2 つ:

    プレリリース版はサポートされていません。

以下の最新バージョン:

  • Microsoft Windows 64 ビット

  • macOS

  • Ubuntu LTS または Fedora Linux

ネイティブモード

デフォルトでは、Qodana は Linux イメージに基づいて Docker を使用してリンターを実行します。特定のケースでは、プライベートパッケージを処理するか、Docker のサポートが不完全なオペレーティングシステムで Qodana を実行する必要があります。

これを克服するために、Qodana は次のリンターに対してネイティブモードをサポートしています。

リンター

リンター名

JVM 用 Qodana

qodana-jvm

JVM の Qodana コミュニティ

qodana-jvm-community

PHP 用の Qodana

qodana-php

JS 用 Qodana

qodana-js

.NET 用 Qodana

qodana-dotnet

Python 用 Qodana

qodana-python

Python のための Qodana コミュニティ

qodana-python-community

Go 用 Qodana

qodana-go

Linux、macOS、Microsoft Windows でネイティブモードを実行できます。

この場合、Qodana は実行環境を再利用します。これにより、プロジェクトのビルドに使用するのとまったく同じ環境で Qodana を実行し、適切なオペレーティングシステムを使用し、すべてのリポジトリ資格情報にアクセスし、依存関係を解決することができます。

始める前に

サポートされているすべてのリンターの一般的な手順

オペレーティングシステムで、Qodana Cloud プロジェクトトークンを含む QODANA_TOKEN 環境変数を保存します。

コマンドラインを使用して Qodana を実行する場合は、実行するマシンに Qodana CLI をインストールします。

Qodana のバージョン 2023.3 以降では、プロジェクトディレクトリに bootstrap キーを含む qodana.yaml ファイルが見つからない場合、健全性インスペクションがレポートします。--disable-sanity オプションを使用してこのインスペクションを無効にするか、このインスペクションをベースラインに追加することができます。

.NET 用 Qodana

一般的な手順に加えて、適切なバージョンの .NET SDK と必要なすべての依存関係がマシンにインストールされていることを確認してください。

Qodana を使用してインスペクションする前にプロジェクトをビルドします。これは、 qodana.yaml ファイルの bootstrap キーを使用して実行できます。プロジェクトのビルドとアーティファクトのパッケージ化の段階は、Qodana の前、または同時に実行する必要があります。Qodana を実行するとプロジェクトの状態とそのファイルに影響する可能性があるため、ビルドパイプラインで同じディレクトリを再利用することは避けることをお勧めします。

また、Qodana にビルド済みのプロジェクトを提供したり、CI/CD パイプラインでビルド手順を指定したりすることもできます。プロジェクトのビルドに関連する警告を削除するには、リポジトリに空の qodana.yaml ファイルを作成します。

ネイティブモードの仕組み

--within-docker false オプション--linter <linter-name> オプションを組み合わせて使用することで、ネイティブモードを有効にすることができます。これらのオプションは、Qodana リンターの実行中に必要な JetBrains IDE バイナリファイルをダウンロードして使用するよう Qodana に指示します。

以下は、Qodana をネイティブモードで実行する方法を示した例です。

  1. QODANA_TOKEN 変数が環境で定義され、適切なプロジェクトトークンを参照していることを確認します。必要に応じて、次のように定義できます。

    QODANA_TOKEN=<cloud-project-token>
  2. qodana scan コマンドを実行します。

    qodana scan \    --linter <linter-name> \    --within-docker false
name: Qodana on: workflow_dispatch: pull_request: push: branches: - master - 'releases/*' jobs: qodana: runs-on: ubuntu-latest permissions: contents: write pull-requests: write checks: write steps: - uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit fetch-depth: 0 # a full history is required for pull request analysis - name: 'Qodana Scan' uses: JetBrains/qodana-action@v2025.2 with: args: | --linter,<linter-name>, --within-docker,false env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

IDE の統合

Qodana は、JetBrains、Visual Studio Code、Visual Studio などの複数の IDE で実行できます。詳細は IDE 統合の概要のセクションを参照してください。

Qodana CLI

Qodana CLI は、最小限の労力で Qodana リンターを実行できるシンプルなクロスプラットフォームのコマンドラインツールです。

Qodana CLI をデフォルトモードで実行するには、Docker または Podman がインストールされ、ローカルで実行されている必要があります。Linux を使用している場合は、現在の非 root ユーザー(英語)で Docker を実行できるはずです。

  1. 利用可能なオプションを使用して、Qodana CLI をマシンにインストールします。

    Homebrew(英語) を使用してインストールします (推奨):

    brew install jetbrains/utils/qodana

    あるいは、インストーラーを使用して Qodana CLI をインストールすることもできます。

    curl -fsSL https://jb.gg/qodana-cli/install | bash

    nightly またはその他のバージョンは、次の方法でインストールできます。

    curl -fsSL https://jb.gg/qodana-cli/install | bash -s -- nightly

    Linux では、Go(英語) を使用して Qodana をインストールすることもできます。

    go install github.com/JetBrains/qodana-cli@latest

    Windows パッケージマネージャーを使用してインストールします (推奨):

    winget install -e --id JetBrains.QodanaCLI

    Chocolatey(英語) を使用してインストールします。

    choco install qodana

    Scoop(英語) を使用してインストールします。

    scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils scoop install qodana
  2. プロジェクトのルートディレクトリで、プロジェクトトークンを含む QODANA_TOKEN 変数を宣言します。

    QODANA_TOKEN=<cloud-project-token>
    set QODANA_TOKEN=<cloud-project-token>
  3. Qodana の実行:

    qodana scan
    qodana scan

Docker イメージ

Qodana は、以下の表にリストされている複数の Docker イメージにも分散されています。

リンター

Docker イメージ

JVM 用 Qodana

jetbrains/qodana-jvm:2025.3

JVM の Qodana コミュニティ

jetbrains/qodana-jvm-community:2025.3

Android のための Qodana コミュニティ

jetbrains/qodana-jvm-android:2025.3

Android 用 Qodana

jetbrains/qodana-android:2025.3

PHP 用の Qodana

jetbrains/qodana-php:2025.3

JS 用 Qodana

jetbrains/qodana-js:2025.3

.NET 用 Qodana

jetbrains/qodana-dotnet:2025.3<-privileged> *

.NET の Qodana コミュニティ

jetbrains/qodana-cdnet:2025.3-eap<-privileged> *

Python 用 Qodana

jetbrains/qodana-python:2025.3

Python のための Qodana コミュニティ

jetbrains/qodana-python-community:2025.3

Go 用 Qodana

jetbrains/qodana-go:2025.3

Ruby 用 Qodana

jetbrains/qodana-ruby:2025.3-eap<-ruby3.X><-privileged> *

C/C++ のための Qodana コミュニティ

jetbrains/qodana-clang:2025.3-eap<-clangXX> *

C/C++ 用 Qodana

jetbrains/qodana-cpp:2025.3-eap<-clangXX><-privileged> *

* オプションのタグを使用すると、事前設定された Qodana イメージをプルできます。

  • C/C++ 用の Qodana および C/C++ 用の Qodana コミュニティリンターの場合、-clangXX タグを使用して Clang-Tidy(英語) バージョン 15 から 18 を指定します。

  • Qodana for Ruby リンターでは、-ruby3.X タグを使用して Ruby バージョン 3.1 から 3.4 を指定します。指定がない場合は、バージョン 3.4 が使用されます。

    -privileged タグを使用すると、Qodana を特権モードで実行し、ルートアクセスを必要とするコマンドを実行できます。この場合、Qodana には、ルート権限を持ちパスワードを必要としないデフォルトの qodana ユーザーが付属しています。このモードを C/C++ 用の Qodana、C/C++ 用の Qodana Community、Ruby リンター用の Qodana で使用するには、それぞれ -clangXX タグと -ruby3.X タグを指定する必要があります。

テーブルから Docker イメージを指定するには、--image オプションを使用します。

異なる Docker コンテキストまたは Podman

Qodana は、コンテナーエンジンとの通信に Docker CLI を使用し、実行時に有効になっている Docker コンテキストを採用します。例: コンテナーエンジンとして Podman を使用するには、次のいずれかを行う必要があります。

  • Podman デスクトップで、Docker 互換モードを有効にし、Docker を無効にして、Podman が /var/run/docker.sock をリッスンするようにします。

  • Podman ソケットを使用して Docker コンテキストを作成します。Podman デスクトップを使用している場合は、設定> リソースにソケットパスがあります。

docker version コマンドを実行すると、どのエンジンがアクティブになっているかを確認できます。

CI 統合

CI 統合の概要セクションに従って、さまざまな CI/CD パイプラインを使用して Qodana を実行できます。

Azure Pipelines、CircleCI、GitHub Actions、GitLab CI/CD、TeamCity については、Qodana がネイティブソリューションを提供します。Bitbucket Cloud、Jenkins を使用して Qodana を実行するには、Docker イメージを使用できます。

Gradle プラグイン

Gradle Qodana プラグイン(英語)は、Qodana によって提供されるコードインスペクションを実行するための Gradle インターフェースを提供します。まず、Gradle 構成ファイル内の Gradle プラグイン org.jetbrains.qodana を適用します。

build.gradle 構成ファイルに以下を追加します。

plugins { id "org.jetbrains.qodana" version "<plugin-version>" }

build.gradle.kts 構成ファイルに以下を追加します。

plugins { id("org.jetbrains.qodana") version "<plugin-version>" }

qodana { } 拡張構成

qodana { } トップレベル構成クロージャでの構成に使用できるプロパティ:

名前

説明

タイプ

デフォルト値

projectPath

分析するプロジェクトフォルダーへのパス。

String

project.projectDir

resultsPath

タスクの結果を保存するディレクトリへのパス。

String

"${projectPath}/build/qodana/results"

cachePath

生成されたレポートを保存するディレクトリへのパス。

String

"${projectPath}/build/qodana/cache/"

Gradle Qodana タスク

qodanaScan

プロジェクトディレクトリで Qodana を起動します。

このタスクは、qodana { } 拡張構成に依存します。ただし、提供されている arguments によっても制御されます。

サンプル

これを Gradle 構成ファイルに追加します。

  • Groovy – build.gradle

    plugins { // applies Gradle Qodana plugin to use it in project id "org.jetbrains.qodana" version "..." } qodana { // by default result path is $projectPath/build/results resultsPath = "some/output/path" } qodanaScan { arguments = ["--fail-threshold", "0"] }
  • Kotlin – build.gradle.kts

    plugins { // applies Gradle Qodana plugin to use it in a project id("org.jetbrains.qodana") version "..." } qodana { // by default, the result path is $projectPath/build/results resultsPath.set("some/output/path") } qodanaScan { resultsPath.set("some/output/path") arguments.set(listOf("--fail-threshold", "0")) }

これで、qodanaScan Gradle タスクを使用して分析を実行できます。

gradle qodanaScan // or ./gradlew qodanaScan

arguments パラメーターのオプションと構成に関する完全なガイドは、Qodana CLI ドキュメントページ(英語)にあります。

2025 年 10 月 30 日

関連ページ:

Java、Kotlin、Groovy

すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。Java プロジェクトを分析するには、次のリンターを使用できます。リンター名 Docker イメージベースとなるもの IntelliJ IDEA Ultimate ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 Java、Kotlin、Groovy、...

PHP

すべての Qodana リンターは、特定のプログラミング言語とフレームワーク向けに設計された JetBrains IDE に基づいています。PHP プロジェクトを解析するには、以下の特徴を持つ Qodana for PHP リンターを使用できます。リンター名 Docker イメージベースとなるもの PhpStorm ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 PHP、JavaScr...

JavaScript and TypeScript

すべての Qodana リンターは、特定のプログラミング言語とフレームワーク向けに設計された JetBrains IDE に基づいています。JavaScript および TypeScript プロジェクトを解析するには、以下の特徴を持つ Qodana for JS リンターを使用できます。リンター名 Docker イメージベースとなるもの WebStorm ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメー...

.NET

すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。.NET プロジェクトを分析するには、次の Qodana リンターを使用できます。リンター名 Docker イメージ * ベースとなるもの JetBrains Rider ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 C#、C/C++、VB.NET、J...

Python

すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。Python プロジェクトを分析するには、次のリンターを使用できます。リンター名 Docker イメージベースとなるもの PyCharm Professional ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 Python、JavaScript、T...

Golang

すべての Qodana リンターは、特定のプログラミング言語とフレームワーク向けに設計された JetBrains IDE に基づいています。Golang プロジェクトを解析するには、以下の特徴を持つ Go 用 Qodana リンターを使用できます。リンター名 Docker イメージベースとなるもの GoLand ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 Golang、JavaSc...