Sider Scan の導入に必要な作業は
- GitLab CI 設定ファイル(.gitlab-ci.yml) を作成し
- 設定ファイルを解析対象リポジトリのルートディレクトリに配置する
だけです。以下の手順に従って下さい。
Step1: GitLab CI 設定ファイル( .gitlab-ci.yml )の作成
下記のコードを.gitlab-ci.yml として保存して下さい。1点だけ変更箇所があります。19行目: yourname@example.com
の文字列を、Sider Scan からの解析結果レポートを受信するメールアドレスに変更下さい。
stages: - scan scan-job: stage: scan image: sider/sider_scan_runner:latest script: - | if [ ! -e .siderscan.json ]; then # ================================================================================== # ================================================================================== # ================================================================================== # # ********************************* # ********** 要変更箇所 ********** # ********************************* # Sider Scanの解析結果を必要に応じてお送りします # 受信メールアドレスを設定してください export SIDERSCAN_MAIL_TO=yourname@example.com # # ================================================================================== # ================================================================================== # ================================================================================== SIDERSCAN_JSON=$(cat - << 'JSON' { "report": { "mail": { "to": ["${SIDERSCAN_MAIL_TO}"], "useBuiltInProvider": true } }, "scan": { "result": { "url": "${CI_SERVER_PROTOCOL}://${CI_PROJECT_ROOT_NAMESPACE}.${CI_PAGES_DOMAIN}/\ -${SIDERSCAN_PROJECT_SUBGROUPS}/${CI_PROJECT_NAME}/-/jobs/${CI_JOB_ID}/artifacts/" } }, "enableSiderScanTracing": { "userEmail": "${SIDERSCAN_MAIL_TO}" } } JSON ) SIDERSCAN_JSON=${SIDERSCAN_JSON//\\\n//} echo "$SIDERSCAN_JSON" > .siderscan.json echo 'CREATED .siderscan.json' fi - export SIDERSCAN_PROJECT_SUBGROUPS=${CI_PROJECT_NAMESPACE/${CI_PROJECT_ROOT_NAMESPACE}/} - tmpscanjson=$(mktemp) && envsubst < .siderscan.json > "$tmpscanjson" && mv "$tmpscanjson" .siderscan.json - 'wget --header "JOB-TOKEN: ${CI_JOB_TOKEN}" "${CI_SERVER_URL}/api/v4/projects/${CI_PROJECT_ID}/jobs/artifacts/${CI_COMMIT_REF_NAME}/raw/output.radump?job=scan-job" -O output.radump || true' - sider run ${CI_PROJECT_DIR} artifacts: paths: - output.radump - scan_result/* expire_in: 30 days # 解析結果を保存したい日数を指定
上記のコードをファイルとしてダウンロードするにはこちらをクリックください。
注意: .gitlab-ci.yml ファイル名の先頭のドット(.) が消されてgitlab-ci.yml ファイルとしてダウンロードされてしまうので、そのままファイルをお使いの際は、ファイル名の先頭にドット(.)を追加下さい。
GitLab には、Free, Premium, Ultimate の3つのTier が存在します。お使いのGitLab のグレードがFree Tier (無償版) の場合、追加の作業としてProject Access Token を別途作成し、上記コードの50行目を変更する必要があります。GitLab CI/CD における高度な設定 ドキュメントを参照下さい。
Step 2: 設定ファイルを解析対象リポジトリのルートディレクトリに配置
Step 1で作成した.gitlab-ci.yml ファイルを解析対象リポジトリのルートディレクトリに配置して下さい。もしすでにリポジトリに.gitlab-ci.yml が存在している場合は、作成した内容を既存のファイルに追記して下さい。
設定ファイルが配置されると、すぐに GitLab CI が動き始め、Sider Scan による解析も始まります。指定したメールアドレスに最初の解析結果の通知が届けば設定完了です。
その他の高度な設定
GitLab へのSider Scan の導入において、より高度な設定内容に関しては GitLab CI/CD における高度な設定 ドキュメントを参照下さい。また、Sider Scan 自体の コマンドオプションや設定ファイルの詳細に関しては Sider Scan の高度な設定ドキュメントを参照下さい。