Aikido CLIのGitLabパイプライン設定: リリースゲーティング
1. APIキーを取得する
Section titled “1. APIキーを取得する ”- Continuous Integration Settingsページに移動します。
- トークンを生成してコピーします。このトークンは一度しか表示されないので注意してください。
- 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必要に応じてコマンドを調整してください。すべてのオプションはこちらで確認できます。
3. 最初のスキャンを実行する
Section titled “3. 最初のスキャンを実行する ”デフォルトブランチに新しい変更がプッシュされると、ワークフローがトリガーされます。スキャンが実行され、新しいIssueが検出された場合は失敗します。