ZBLOG

gitlab 集成sonar 根据分析结果允许提交

要实现GitLab集成Sonar并根据分析结果允许提交,可以按照以下步骤进行操作:

  1. 在Sonar中创建一个项目,并记录下项目的Key和Token。

  2. 在GitLab中创建一个新的CI/CD流程,添加一个before_script和after_script,如下所示:

before_script:
  - apt-get update -qq && apt-get install -y -qq git
  - apt-get install -y -qq unzip
  - curl -sSLo sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472-linux.zip
  - unzip sonar-scanner.zip && rm sonar-scanner.zip
  - export PATH=$PATH:/path/to/sonar-scanner/bin
  - sonar-scanner \
      -Dsonar.projectKey=<your-project-key> \
      -Dsonar.sources=. \
      -Dsonar.host.url=https://sonar.your-domain.com \
      -Dsonar.login=<your-token>

after_script:
  - echo "Sonar analysis completed"

在before_script中,我们首先安装一些必要的软件包,然后下载、解压缩和设置Sonar Scanner。最后,我们运行Sonar扫描器以分析代码,并使用替换为你自己的项目Key和Token。

在after_script中,我们只是添加了一条简单的输出来显示Sonar分析已完成。

  1. 接下来,我们需要定义一个GitLab CI/CD阶段,用于在代码通过Sonar分析之后进行提交。可以在.gitlab-ci.yml文件中添加如下的stage:
stages:
  - build
  - test
  - sonar
  - deploy

sonar:
  stage: sonar
  script:
    - if [[ $(curl --write-out %{http_code} --silent --output /dev/null https://sonar.your-domain.com/api/qualitygates/project_status?projectKey=<your-project-key>&token=<your-token>) != 200 ]]; then exit 1; fi
    - echo "Sonar analysis passed"
  only:
    - master

这个阶段会检查Sonar分析结果,并只有在通过检查之后才会允许继续进行部署。

  1. 最后,将你的代码提交到GitLab,并等待CI/CD流程完成。如果所有步骤都没有出现问题,代码就会自动提交。

以上就是GitLab集成Sonar并根据分析结果允许提交的步骤。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=134

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?