This product is not supported for your selected
Datadog site. (
).
概要
Git フックは、ユーザーがコードをリポジトリにコミットしたり、リモートロケーションにプッシュする前に実行されるプログラムです。Git フックは一般的に、リモートブランチにプッシュされる前にコードを検証し、要件を強制するために使用されます。
Datadog Code Security は、コードがプッシュまたはコミットされる前に、静的コード解析 (SAST) の違反やシークレットの有無をチェックする Git フックを提供します。Code Security の Git フックは、最新のコミットおよびデフォルト ブランチのコードをチェックし、検出した問題をフラグ付けします。
Datadog Git フックは、コーディングエラー、脆弱性、または機密情報を含むコードをプッシュする前に開発者に警告します。エラーのあるコードをコミットすると、ユーザーの端末に次のようなプロンプトが表示されます。
セットアップ
- リリースページまたは Datadog Static Analyzer リリースから
datadog-git-hook
プログラムを
ダウンロードします。 - プログラムをコンピュータにインストールします。
- 以下のスクリプトをリポジトリに
.git/hooks/pre-push
ファイルとして追加します。注: このスクリプトは、datadog-static-analyzer-git-hook
バイナリが /usr/local/bin/datadog-static-analyzer-git-hook
に存在することを前提としています。
#!/bin/sh
# リポジトリのルートパスを取得
repo_path=$(git rev-parse --show-toplevel)
# ユーザー入力が可能であることを確認
exec < /dev/tty
/usr/local/bin/datadog-static-analyzer-git-hook -r $repo_path --static-analysis --secrets --confirmation --default-branch <default-branch>
if [ $? -eq 0 ]; then
echo "datadog-static-analyzer check passed"
exit 0
else
echo "datadog-static-analyzer check failed"
exit 1
fi
このプログラムは以下のパラメーターを受け入れます。
--confirmation
: Git フックのチェックをオーバーライドするかどうかについて、ユーザーに確認を求めます。--default-branch
: デフォルトのブランチ名を指定します。--static-analysis
: 静的コード解析を有効にします。--secrets
: シークレットの検出を有効にします (プレビュー版 - Datadog サポート までご連絡ください)。--output <file>
: コミットで検出された問題を SARIF ファイルにエクスポートします。