変更を分析する
Qodana を使用すると、コードベース全体をスキャンできるだけでなく、マージやプルリクエストなどの変更セットの分析を実行したり、2 つのコミット間の変更をインスペクションしたりすることもできます。
プルリクエストとマージリクエストを分析する
作業を終えて変更を分析したい場合は、--diff-start
オプションを使用して、比較のベースとなるコミットのハッシュを指定できます。
Qodana CLI(英語) をデフォルトモードで実行するには、Docker または Podman がインストールされ、ローカルで実行されている必要があります。Linux を使用している場合は、現在の非 root ユーザー(英語)で Docker を実行できるはずです。次のコマンドを使用して、Qodana CLI を実行します。
GitHub アクションでは、--diff-start
は Qodana の実行中に自動的に追加されるため省略できます。次の手順に従います。
GitHub UI の
タブで、QODANA_TOKEN
暗号化シークレット(英語)を作成し、プロジェクトトークンをその値として保存します。GitHub UI の
タブで、新しいワークフローを設定し、.github/workflows/code_quality.yml
ファイルを作成します。このスニペットを
.github/workflows/code_quality.yml
ファイルに追加します。name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' branch - 'releases/*' # The release branches 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@v2024.1 env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
プロジェクトリポジトリが GitLab CI/CD からアクセス可能であり、 Merged results pipeline
(英語) 機能が有効になっていることを確認します。
プロジェクトのルートディレクトリに、次のスニペットを含む .gitlab-ci.yml
ファイルを保存します。
2 つのコミット間の変更を分析する
2 つのコミット間の変更セットをインスペクションするには、--diff-start
と --diff-end
の両方のオプションを使用します。
Qodana CLI(英語) をデフォルトモードで実行するには、Docker または Podman がインストールされ、ローカルで実行されている必要があります。Linux を使用している場合は、現在の非 root ユーザー(英語)で Docker を実行できるはずです。次のコマンドを使用して、Qodana CLI を実行します。
GitHub UI の
タブで、QODANA_TOKEN
暗号化シークレット(英語)を作成し、プロジェクトトークンをその値として保存します。GitHub UI の
タブで、新しいワークフローを設定し、.github/workflows/code_quality.yml
ファイルを作成します。このスニペットを
.github/workflows/code_quality.yml
ファイルに追加します。name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' branch - 'releases/*' # The release branches 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@v2024.1 with: args: --diff-start,<GIT_START_HASH>,--diff-end,<GIT_END_HASH> env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
プロジェクトリポジトリが GitLab CI/CD からアクセスできることを確認してください。
プロジェクトのルートディレクトリに、次のスニペットを含む .gitlab-ci.yml
ファイルを保存します。
関連ページ:
.NET の Qodana コミュニティ
Qodana Community for .NET は、ReSharper に基づくコミュニティリンターであり、.NET プロジェクトの静的分析を提供します。ReSharper のすべての機能が組み込まれており、次のことに役立ちます。異常なコードと考えられるバグを検出、デッドコードを削除する、スペルの問題をハイライトする、全体的なコード構造を改善する、コーディングのベストプラクティスを紹介する、インスペクションの結果を Qodana クラウドにアップロードする、Qodana Community fo...
プロジェクト
プロジェクトは、Qodana レポートを蓄積します。各プロジェクトは、プロジェクトトークンによって一意に識別されます。このトークンは、Qodana レポートのアップロードに使用されます。プロジェクトの作成:オンボーディング段階では、Qodana Cloud がすでに最初のプロジェクトの作成を支援しているため、これらの手順は追加のプロジェクトを作成する場合にのみ適用されます。チームページで、ボタンをクリックします。以下で説明するウィザードの手順に従います。Qodana Cloud からアクセスでき...