Gitlab+Jenkins+SonarQube 实现CICD(五),Jenkins集成sonarQueb

Jenkins集成sonarQueb

用于检测、跟踪和修复代码中的缺陷、漏洞和技术债务。它提供了一套强大的静态代码分析工具,可以帮助开发团队进行代码质量评估和持续集成。

安装postgresql-11

参考文章:https://www.cnblogs.com/lfxx/p/17616078.html

  1. 添加PostgreSQL Yum存储库

    yum install  https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  2. 安装PostgreSQL Server和客户端软件包

    yum -y install postgresql11-server postgresql11
    
  3. 初始化数据库并启用自动启动

    /usr/pgsql-11/bin/postgresql-11-setup initdb
    
  4. 启用远程访问PostgreSQL

    vim /var/lib/pgsql/11/data/postgresql.conf
    # 修改
    listen_addresses = '*'
    vim /var/lib/pgsql/11/data/pg_hba.conf
    # 修改
    host all all 127.0.0.1/32 trust
    # 添加
    host all all 0.0.0.0/0 md5
    

    启动

    systemctl start postgresql-11
    
  5. 设置PostgreSQL管理员用户的密码(一定要按照这种格式配置用户名和密码)

    su - postgres 
    psql -c "alter user postgres with password 'yfh@5432'"
    
  6. 防火墙需要开放5432端口

    firewall-cmd --zone=public --add-port=5432/tcp --permanent
    systemctl restart firewalld
    
  7. 设置开机启动

    sudo systemctl enable postgresql-11
    

安装Sonarqube9

参考文章:https://www.cnblogs.com/iancloud/p/17657253.html
因为我部署的jenkins使用的是jdk11,所有我选择安装Sonarqube9版本。
8. 下载安装包
sonarqube-9.6.1.59531.zip
拷贝到:

```bash
/home/sonarQube
```
解压:
```bash
unzip sonarqube-9.6.1.59531.zip
```
  1. 系统最大打开的文件数和进程的最大数目
    因Sonarqube内嵌了ElasticSearch,而ElasticSearch的启动需要修改一些系统参数;
    修改系统最大打开的文件数和进程的最大数目

    vim /etc/security/limits.conf
    

    在最后一行添加下面四个参数,别把 * 忘记了,他是控制用户的

    vim /etc/security/limits.conf
    * soft nofile 65536
    * hard nofile 65536
    * soft nproc 4096
    * hard nproc 4096
    

    生效配置,只有切换用户,或者重新登录才生效

    # 切换用户 
     su root 
    # 查看是否生效,如果是65536 则生效。
     ulimit -Hn
    
  2. 修改Linux内核配置

```bash
vim /etc/sysctl.conf
```
在文件最后一行添加:
```bash
vm.max_map_count=655360
```
使其生效
```bash
sysctl -p
```
  1. 修改Sonarqube配置
    编辑sonar配置文件
    vim /home/sonarQube/sonarqube-9.6.1/conf/sonar.properties
    找到下面的配置修改
```bash
# 数据库用户名
sonar.jdbc.username=postgres
# 数据库密码
sonar.jdbc.password=123456
# SQLServer数据库连接信息
sonar.jdbc.url=jdbc:postgresql://127.0.0.1:5432/sonarqube
```
  1. 创建用户、授权
    Sonarqube9不支持root用户直接启用(实际上应该是内嵌的elasticsearch不支持),可以为其创建一个sonarqube用户来启用该程序
```bash
# 创建组
groupadd sonarqube
# 创建用户
useradd sonarqube -g sonarqube
# 授权
chown -R sonarqube:sonarqube /home
```
  1. 创建数据库
    使用navcat连接pgsql,然后手动创建一个数据库,名称为:

    sonarqube

  2. 启动
    切换用户

    su sonarqube
    执行启动命令

    /home/sonarQube/sonarqube-9.6.1/bin/linux-x86-64/sonar.sh start

  3. 停止

    /home/sonarQube/sonarqube-9.6.1/bin/linux-x86-64/sonar.sh start
    
  4. 安装中文插件
    sonar-l10n-zh-plugin-9.6.jar
    将该插件拷贝至/home/sonarQube/sonarqube-9.6.1/extensions/plugins目录,然后重启Sonarqube即可

  5. 安装完成
    注意:
    1.开通服务器防火墙sonarqube的web端口(默认:9000)或者关闭防火墙(不推荐)
    2.默认登录用户密码:admin/admin
    3.第一次登录需要重置默认密码

  6. 生成用户token,后续使用
    生成的token复制下来,后续sonar-scanner-cli配置中会使用。生成token位置如图:
    在这里插入图片描述

配置sonar-scanner-cli

  1. 下载安装包
    sonar-scanner-cli-5.0.1.3006-linux.zip

  2. 复制到指定目录
    我的目录是 /home/sonar-scanner-cli

    cd /home/sonar-scanner-cli
    tar -zxvf sonar-scanner-cli-5.0.1.3006-linux.zip
    mv sonar-scanner-cli-5.0.1.3006-linux sonar-scanner-cli-5.0.1
    
  3. 修改配置文件

    cd /home/sonar-scanner-cli/sonar-scanner-5.0.1/conf
    vim sonar-scanner.properties
    # 修改如下配置
    #----- Default SonarQube server
    sonar.host.url=http://localhost:9000
    sonar.login=squ_9c8120f0dccabb5f9c7ffa2167bb76330b89ed49
    

jenkins配置sonarqube

  1. 配置sonarqube
    配置的地方在Manage Jenkins 下 System中,Server URL填写sonarqube的地址。
    在这里插入图片描述
    添加token并选择:
    在这里插入图片描述

  2. 配置sonar-scanner-cli
    配置的地方在Manage Jenkins 下 Tool 中。
    在这里插入图片描述

  3. 配置html项目构建时使用sonar
    进入项目配置,在Build Steps中添加质量检查,并拖拽到执行脚本之前。

    sonar.projectName=${JOB_NAME}
    sonar.projectKey=html
    sonar.source=.
    

    在这里插入图片描述

  4. 配置maven项目使用soanr
    进入项目配置,在Post Steps中添加质量检查,并拖拽到执行脚本之前。

    sonar.projectName=${JOB_NAME}
    sonar.projectKey=java
    sonar.sources=.
    sonar.java.binaries=target/classes
    

在这里插入图片描述

  1. 配置完成
    配置完成后再进行项目构建时将会先进行代码质量检查,到此已经可以满足企业内部的基本使用了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值