# ローカルスキャナーを使ったコードのPRゲーティング

Aikido Local Scanner は、CI パイプライン内でセキュリティゲートを強制するために使用できます。

{% hint style="info" %}
クラウド接続されたワークスペース（GitHub、BitBucket など）でも PR ゲーティングを使用できます。CI の [統合セクションをご覧ください](https://help.aikido.dev/section/ci-integrations/sg3q6UrIf4qE).
{% endhint %}

PR ゲーティングにより、新しいコードがデフォルトブランチにマージされる前にセキュリティ基準を満たしていることを確認できます。これは、プルリクエストで導入された変更のみをスキャンします。スキャンで、設定した重大度しきい値以上に該当する新しい問題が検出された場合、CI パイプラインは失敗します。

これにより、新しい脆弱性の混入を防ぎつつ、既存の検出結果は別途対応できます。

{% hint style="info" %}
また、 [リリースゲート](https://help.aikido.dev/docs/docs-ja/container-image-scanning/local-image-scanning/release-gating-for-container-images-using-local-image-scanner) リリース時にチェックを強制したいチーム向けのサポートもあります。
{% endhint %}

PR ゲーティングを有効にするには、 `--fail-on <severity>` オプションを追加して、お好みの重大度レベルを選択します。次に、 `--gating-mode pr` オプションを追加して、PR ゲーティングを実行したいことを示します。また、ベース（`--base-commit-id <commit-id>`）とヘッドコミット（`--head-commit-id <commit-id>`）を指定する必要があります。ベースの commit id に対して以前にスキャンが実行されていた場合、スキャン結果はそれと比較されます。そうでない場合は、デフォルトブランチ上の最新のスキャン結果と比較されます。

実装の詳細については、以下を参照してください:

* [GitLab セルフマネージド](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/pr-gating/gitlab-pr-gating-using-local-scanner)
* [GitHub](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/pr-gating/github-pr-gating-using-local-scanner)
* [BitBucket](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/pr-gating/bitbucket-pr-gating-using-local-scanner)
* [Azure DevOps Server](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/pr-gating/azure-devops-pr-gating-using-local-scanner)
* [Jenkins](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/pr-gating/jenkins-pr-gating-using-local-scanner)
