コンテンツにスキップ

Aikido CLIのGitLabパイプライン設定: リリースゲーティング

  1. Continuous Integration Settingsページに移動します。
  2. トークンを生成してコピーします。このトークンは一度しか表示されないので注意してください。
  3. Settings > CI/CD and Variables > Actionsに移動し、このトークンをAIKIDO_CLIENT_API_KEYとしてGitLab CI/CD変数にシークレットとして保存します。これはGitLabのグループレベルまたはプロジェクトレベルのどちらでも可能です。

APIキーを追加する際は、変数がすべてのブランチで利用可能になっていること(「protect variable」のチェックを外す)と、ログでマスクされること(「Mask variable」にチェックを入れる)を確認してください。「Expand variable reference」はチェックしたままで構いません。

2. 新しいGitLabパイプラインジョブを作成する

Section titled “2. 新しいGitLabパイプラインジョブを作成する”

以下の例を使ってパイプラインジョブを作成します。

ローカルスキャナーがデフォルトブランチに対してのみトリガーされるようにしてください。以下の例では’main’ブランチがこれに該当します。必要に応じて調整してください。

Yaml

stages:
- security_check
aikido_release_gate:
stage: security_check
image: node:22
script:
- npm install --global @aikidosec/ci-api-client
- |
aikido-api-client scan-release \
"$CI_PROJECT_ID" \
"$CI_COMMIT_SHA" \
--apikey "$AIKIDO_CLIENT_API_KEY" \
--fail-on-sast-scan \
--fail-on-iac-scan \
--fail-on-secrets-scan
only:
- main

必要に応じてコマンドを調整してください。すべてのオプションはこちらで確認できます。

デフォルトブランチに新しい変更がプッシュされると、ワークフローがトリガーされます。スキャンが実行され、新しいIssueが検出された場合は失敗します。