【问题标题】:GitLab Secrets Detection - Pipeline doesn't fail - Only checks last commitGitLab 秘密检测 - 管道不会失败 - 只检查最后一次提交
【发布时间】:2022-12-20 23:57:16
【问题描述】:
标签:
gitlab
gitlab-ci
merge-request
app-secret
secrets
【解决方案1】:
我使用以下代码在存储库的根级别创建了一个名为 .gitlab-ci.yml 的文件:
include:
- template: Security/Secret-Detection.gitlab-ci.yml
secret_detection:
extends: .secret-analyzer
variables:
SECRET_DETECTION_LOG_OPTIONS: origin/${CI_DEFAULT_BRANCH}..HEAD # Check commits to default branch, e.g. master
before_script:
- git fetch origin ${CI_DEFAULT_BRANCH} # Needed for SECRET_DETECTION_LOG_OPTIONS
script:
- apk add jq
- /analyzer run
- NUMBER_OF_VULNERABILITIES=$(cat gl-secret-detection-report.json | jq --raw-output '.vulnerabilities | length')
- exit $NUMBER_OF_VULNERABILITIES
如果检测到任何秘密,此代码不仅会使管道失败,而且还会检查合并请求的源分支中的所有提交。