Qodana 2024.1 ヘルプ

Space Automation

Space Automation は、JetBrains Space 環境での開発ワークフローの自動化に役立つ CI/CD ツールです。このセクションでは、Space Automation ジョブ内で Qodana Docker イメージを構成および実行する方法について説明します。

プロジェクトを準備する

JetBrains Space アカウントにすでにプロジェクトリポジトリがあると仮定して、プロジェクトルートに .space.kts ファイルを作成します。このファイルには、Kotlin(英語) で記述され、このセクションで説明されている構成スクリプトが含まれます。

基本構成

これは、JetBrains オートメーションジョブで Qodana を実行するための基本的な構成スクリプトです。

job("Qodana") { container("jetbrains/qodana-<linter>") { env["QODANA_TOKEN"] = Secrets("qodana-token") shellScript { content = """ qodana """.trimIndent() } } }

container ブロックは、Qodana のどの Docker イメージを実行するかを指定します。

QODANA_TOKEN 変数は、Qodana Cloud で生成され、qodana-token シークレットに含まれるプロジェクトトークンを参照します。このトークンは有料の Qodana リンターでは必須であり、コミュニティリンターで使用する場合はオプションです。プロジェクトトークンの生成方法については、次のセクションを参照してください。

  • オンボーディングセクションでは、Qodana クラウドを初めて使用するときに生成されたプロジェクトトークンを取得する方法について説明します。

  • プロジェクトを管理するセクションでは、既存の Qodana Cloud 組織でプロジェクトを作成する方法について説明します。

プロジェクトトークンが生成されたら、JetBrains Space 環境の設定セクションで、qodana-token という名前のシークレットを作成します。プロジェクトトークンをこのシークレットの値として保存します。

shellScript ブロックには、Qodana を実行するための qodana コマンドが含まれており、品質ゲートベースラインなどの実行中に使用できるオプションも含めることができます。

特定のブランチを分析する

startOn ブロックを使用すると、ジョブをトリガーするイベントを指定できます。この構成では、ネストされた branchFilter ブロックを使用してデフォルトのトリガーをオーバーライドし、feature ブランチでの変更後にのみジョブを実行します。

codeReviewOpened トリガーを使用すると、プロジェクトのデフォルトのブランチで開かれたコードレビューを分析できます。

job("Qodana") { startOn { gitPush { branchFilter { +"refs/heads/feature" } } codeReviewOpened{} } container("jetbrains/qodana-<linter>") { env["QODANA_TOKEN"] = Secrets("qodana-token") shellScript { content = """ qodana """.trimIndent() } } }

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

shellScript ブロックの --fail-threshold <number> および --baseline <path/to/qodana.sarif.json> ラインを使用して、品質ゲートおよびベースライン機能を呼び出すことができます。

job("Qodana") { container("jetbrains/qodana-<linter>") { env["QODANA_TOKEN"] = Secrets("qodana-token") shellScript { content = """ qodana \ --fail-threshold <number> \ --baseline <path/to/qodana.sarif.json> """.trimIndent() } } }

関連ページ:

自動化の概念

Space オートメーションとは何ですか ?:オートメーションの主な目的は CI/CD です。プロジェクトリポジトリに保存されているスクリプトファイルを使用して、プロジェクトをビルド、テスト、デプロイできます。コードとしての構成:スクリプトはオートメーションを構成する唯一の方法です。Space で表示されるオートメーション UI は、ログ、テスト、アーティファクトなどのスクリプト結果を視覚化するためにのみ使用されます。スクリプトは特別な DSL (ドメイン固有言語) で記述されます。Kotli...

Qodana Docker イメージ

基本的に、Docker イメージの名前はリンターの名前と似ています。Qodana リンターには次の Docker イメージが提供されています。JVM 用 Qodana、JVM の Qodana コミュニティ、Android のための Qodana コミュニティ、PHP 用の Qodana、Python 用 Qodana、Python のための Qodana コミュニティ、JS 用 Qodana、Go 用 Qodana、.NET 用 Qodana、.NET の Qodana コミュニティ、...

プロジェクトの作成

プロジェクトの作成方法左上で「」をクリックし、「プロジェクト」を選択します。新しいプロジェクトフォームがポップアップ表示されます。フォームに記入する: 名前: 少なくとも 2 文字の長さのプロジェクト名を考えてください。キー: コードレビューや課題などで使用される短い一意のプロジェクト識別子。タグ (オプション): プロジェクトを関連プロジェクトのグループに関連付けるためのタグ。スラッシュで区切られた仮想パスの形式にすることができます。ドロップダウンリストから既存のタグを選択するか、タグの追加をクリ...

オンボーディング

オンボーディングは、プロジェクトで作業するために Qodana を準備するための重要なステップであり、次のことが可能になります。プロジェクトリポジトリを Qodana クラウドに接続します、Qodana Cloud 組織、チーム、プロジェクトを作成する、Ultimate および Ultimate Plus リンターに必要なプロジェクトトークンを生成する、セットアップコードインスペクション、オンボーディングでは、JetBrains アカウントの情報 (ライセンスや会社など) が使用されます。以下に手...

プロジェクト

プロジェクトは、Qodana レポートを蓄積します。各プロジェクトは、プロジェクトトークンによって一意に識別されます。このトークンは、Qodana レポートのアップロードに使用されます。プロジェクトの作成:オンボーディング段階では、Qodana Cloud がすでに最初のプロジェクトの作成を支援しているため、これらの手順は追加のプロジェクトを作成する場合にのみ適用されます。チームページで、ボタンをクリックします。以下で説明するウィザードの手順に従います。Qodana Cloud からアクセスでき...

ベースライン

ベースラインは、特定の Qodana 実行時に取得され、ファイルに含まれているコードベースの問題のスナップショットです。ベースライン機能を使用すると、現在のコードとベースラインの状態を比較し、新しい問題、変更されていない問題、解決された問題を確認できます。この機能は、Community、Ultimate、Ultimate Plus ライセンスとその試用版で利用可能なすべてのリンターでサポートされています。使い方:ベースラインなしで Qodana を実行すると、現在の実行時に検出された問題を確認...