Jenkins
Jenkins (英語) は、ソフトウェアの構築、テスト、デプロイなどのソフトウェア関連のタスクを自動化する自己完結型のオープンソースサーバーです。このセクションでは、Jenkins マルチブランチパイプライン(英語)で Qodana Docker イメージを構成する方法について説明します。
始める前に
Qodana クラウド
このセクションのすべての構成例では、Qodana Cloud によって生成されたプロジェクトトークンを使用します。このトークンは、有料の Qodana リンターでは必須であり、コミュニティリンターで使用する場合はオプションです。Qodana Cloud UI でプロジェクトトークンを生成する方法については、次のセクションを参照してください。
プロジェクト設定セクションでは、Qodana Cloud を初めて使用する際にプロジェクトトークンを生成する方法について説明します。
プロジェクトを管理するセクションでは、既存の Qodana Cloud 組織内でプロジェクトトークンを作成する方法について説明します。
プロジェクトトークンを取得したら、パイプラインまたはワークフローで識別するために QODANA_TOKEN 変数を使用できます。
https://qodana.cloud/ 以外の Qodana Cloud インスタンスを使用している場合は、QODANA_ENDPOINT 環境変数を設定して上書きします。
プロジェクトを準備する
これらのプラグインが Jenkins インスタンスにインストールされていることを確認してください。
Docker イメージを実行するには、Docker(英語) および Docker パイプライン(英語)が必要です
Jenkins プロジェクトでの git 操作には git (英語) が必要です
Docker がインストールされており、Jenkins からアクセスできることを確認します。
該当する場合は、Docker ドキュメントの Docker を非 root ユーザーとして管理する(英語)セクションの説明に従って、jenkins ユーザーが Docker にアクセスできることを確認してください。
Jenkins ドキュメントポータル(英語)の説明に従って、マルチブランチパイプラインプロジェクトを作成します。
プロジェクトリポジトリのルートディレクトリに、Jenkinsfile を作成します。このファイルには、このセクションで説明する Jenkins 構成スクリプトが含まれます。
基本構成
これが Jenkins パイプラインの基本構成です。
この構成では、environment ブロックはパイプラインで使用される環境変数を定義します。QODANA_TOKEN 変数は、Qodana Cloud で生成されたプロジェクトトークンを参照し、qodana-token グローバル資格情報(英語)に含まれています。
この構成では、docker エージェントを使用して Qodana Docker イメージを呼び出します。WORKSPACE 変数を使用して、args ブロックはローカルチェックアウトディレクトリを Docker イメージのプロジェクトディレクトリにマウントし、image は呼び出される Docker イメージを指定します。
stage ブロックは Qodana を呼び出します。ここでは、品質ゲートやベースライン機能など、Qodana に設定するオプションも指定できます。
特定のブランチを分析する
when ブロックを使用すると、プロジェクトのどのブランチを分析するかを Qodana に指示できます。例: この構成では、feature ブランチのみを分析できます。
Jenkins ドキュメントのプルリクエストのサポート(英語)セクションに記載されているように、プルリクエストを分析できます。
品質ゲートとベースライン
この構成は、steps ブロックで指定された --fail-threshold <number> および --baseline <path/to/qodana.sarif.json> ラインを使用して、品質ゲートおよびベースライン機能を呼び出します。
関連ページ:
デプロイオプション
このセクションでは、システム要件と利用可能なデプロイのオプションに関する情報を提供します。システム要件:RAM2 GB の空き RAM8 GB の総システム RAMCPU 最新の CPU マルチコア CPU。Qodana は、さまざまな操作やプロセスに対してマルチスレッドをサポートしており、使用できる CPU コアの数が増えるほど高速化します。ディスク容量 2.5 すべての依存関係とキャッシュ用の GB + スペース少なくとも 5 GB の空き容量 + すべての依存関係とキャッシュ用のスペースオペレ...
クイックスタート
現行バージョンの Qodana(2026.1)では、様々なプログラミング言語や技術を用いたソフトウェアを解析できます。また、利用可能な機能を使って、デフォルトの Qodana 設定を拡張することも可能です。例として、このセクションでは、以下を使用して Qodana の操作をすぐに開始できる方法について説明します。JetBrains IDE、コマンドラインインターフェース、GitHub アクション、Gradle プラグインとして、前提条件:Qodana Cloud でプロジェクトを設定する Qod...
プロジェクト
プロジェクトは Qodana レポートを蓄積します。各プロジェクトはプロジェクトトークンによって一意に識別されます。プロジェクトの作成:新しい組織を作成する際、Qodana Cloud は最初のプロジェクトの設定を支援するため、これらの手順は追加のプロジェクトを作成する場合にのみ関連します。チームページで、ボタンをクリックします。プロジェクトのセットアップ段階を完了します。この段階の詳細については、前提条件セクションを参照してください。プロジェクトを管理する:プロジェクトが作成された後、その...
ベースライン
ベースラインとは、特定の Git ブランチに対する特定の Qodana 分析で取得されたコードベースの問題点のスナップショットであり、ファイルに格納されています。ベースライン機能を使用すると、現在のコードとベースラインの状態を比較し、新規の問題、変更されていない問題、解決済みの問題を確認できます。たとえば、ブランチのベースラインを設定・更新することで、プルリクエストやマージリクエストのマージ後の変更を監視できます。必要に応じて、新しいファイルを生成し、Qodana の実行中に使用することで、ベー...
GitLab CI/CD
GitLab CI/CD は、様々な CI/CD 手法を用いたソフトウェア開発ツールです。このセクションでは、Qodana Scan GitLab Pipeline コンポーネントの実行方法について説明します。始める前に:Qodana クラウドこのセクションのすべての構成例では、Qodana Cloud によって生成されたプロジェクトトークンを使用します。このトークンは、有料の Qodana リンターでは必須であり、コミュニティリンターで使用する場合はオプションです。Qodana Cloud UI...
TeamCity
Qodana は、TeamCity でビルドランナーとして使用できます。使用を開始するには、次の前提条件を満たす必要があります。TeamCity をプロジェクトのビルドサーバーとして使用します。そうでない場合は、TeamCity のドキュメントでその方法を学習してください。プロジェクト言語は、完全にサポートされているテクノロジのリストに含まれています。Qodana の Docker イメージを使用して独自の TeamCity エージェントを実行する場合は、エージェントマシンに Docker がイ...