阅读 348

SonarQube+Gitlab从零搭建自动化持续代码扫描质量平台

一、前言

    我们都知道代码质量对于一个项目的重要性,如果开发人员迫于业务压力,一味追求项目开发进度,往往会容易形成大量的“烂代码”,那么测试人员势必会发现很多低级缺陷,甚至连冒烟测试都无法通过,这样势必会浪费很多时间,延误测试进度。假如我们在前期就借助一些代码扫描工具,然后针对这些扫描出的问题再进一步分析,这样轻易地可以发现一些真正代码问题;

    其他的废话就不多说,今天我们就从gitlab服务器搭建、Sonarqube 安装配置、gitlab与Sonarqube 的整合集成三方面入手,从零搭建开始搭建一个自动化持续代码扫描质量平台

二、 gitlab 服务器搭建

   我们这里使用的是docker进行搭建,如果你还不知道怎么安装docker 的可以问度娘或者参考:juejin.cn/post/684490…

   1、安装镜像

docker pull gitlab/gitlab-ce复制代码

    2、启动容器

sudo docker run -d \
    --hostname xxxx.xxxx.xx \
    --name gitlab \
    --restart always \
    --publish 30001:22 --publish 30000:80 --publish 30002:443 \
    --volume $HOME/gitlab/data:/var/opt/gitlab \
    --volume $HOME/gitlab/logs:/var/log/gitlab \
    --volume $HOME/gitlab/config:/etc/gitlab \
    gitlab/gitlab-ce复制代码

   启动容器之后,我们执行docker ps(查看正在运行的容器列表)

发现我们的gitlab 容器已启动,然后我们访问:http://localhost:30000/

发现仍然还是访问不了~~

那是因为gitlab 还未启动,我们需要

  3、 进入容器 

docker exec -it 636347c22ded /bin/bash复制代码

  4、 初始化服务

gitlab-ctl reconfigure复制代码

  注意:  如果网站访问不了,可以重启gitlab服务

gitlab-ctrl restart复制代码

   5、 访问gitlab 网页

三、  Sonarqube 安装配置

1、下载

注: 版本: 8.7.1

        下载链接: www.sonarqube.org/downloads/ (下载社区版就可以了)

2、解压进入/bin,效果如下

3、启动

    根据自己的操作系统,进入相应的目录,我这边选择的是macosx-universal-64,然后执行: ./sonar.sh console,效果如下:

可看到sonarqube 已启动成功

4、访问SonarQube网址,http://localhost:9000/

四、 gitlab与Sonarqube集成

    我前面花了挺大篇幅来介绍gitlab与SonarQube 的安装搭建,为的就是替最后的集成做准备;当然这需要你对Gitlab-CI 有一定的了解,如果你在这一块领域还是个小白,可以网上找相关资料熟悉,或者看我另一篇文章: react 项目Jest+Enzyme单元测试集成至gitlab 的后半部分;

   废话不多说,我们现在就来介绍如何实现代码提交、合并前进行自动化代码扫描并实现Pull Request 修饰,具体效果如图:

    如果代码扫描没通过,不仅无法进行合并并会通过微信/云之家进行消息通知!

   一、安装SonarQube 社区版分支插件

        sonarqube社区版不支持branch功能,每个project都只能展示一个分支。要支持多个分支共同展示功能需要安装sonarqube-community-branch-plugin 插件,当然我选择这个插件还有另外一个重要原因,它可以支持pull Request 修饰的功能

        插件版本: v1.7.0 (根据不同SonarQube 版本选择对应插件版本)

      1、下载对应版本jar包

        2、复制jar包 到SonarQube 下的extensions/plugins/ 和 lib/common/目录下

        3、重启SonarQube

        4、用管理员账号登陆SonarQube 配置,并配置Server base URL

         5、关于pull Request 修饰后面介绍

    二、GitLab 的配置

       1、重新注册一个用户名为SonarQube 的用户

       2、登陆超级管理员账号进行Approve,SonarQube账号生效

     3、登陆SonarQube 账号

     4、创建 GitLab OAuth app(将GitLab用作OAuth提供程序的应用程序)

     点击保存,会自动跳转到另一个页面,里面有Application ID 和 Secret 信息,千万记得记得这个要保存起来,SonarQube 那里会用到这两个信息;

     5、生成 personal access token(用于修饰合并请求,留评论的账号的Access Token)

     点击创建,之后token 生成,记得把这个token 记下,SonarQube 里面gitlab 的集成需要使用到

      到这里,gitlab 的配置算是over 了~

 三、SonarQube 的配置


作者:Catherine同学
链接:https://juejin.cn/post/7021019542130262024


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐