持续集成09--Jenkins配置Sonar代码漏洞扫描工具

专栏内容

持续集成01--Git版本管理及基础应用实践_持续集成下的git分支-CSDN博客

持续集成02--Linux环境更新/安装Java新版本-CSDN博客

持续集成03--Jenkins的安装与配置-CSDN博客

持续集成04--Jenkins结合Gitee创建项目_jenkins集成gitee-CSDN博客

持续集成05--Gogs的安装与使用-CSDN博客

持续集成06--Jenkins构建常用触发器的使用_jekins 配置触发器-CSDN博客

持续集成07--Jenkins配置Allure测试报告_jenkins上 allure 报告配置-CSDN博客

持续集成08--Jenkins邮箱发送构建信息及测试报告_jenkins 邮件内容自定义-CSDN博客

持续集成09--Jenkins配置Sonar代码漏洞扫描工具_jenkins集成 sonar-CSDN博客

前言

        在软件开发的高速迭代中,代码质量与安全性的保障成为了不可忽视的重要环节。为了确保代码的稳定性和安全性,持续集成(CI)流程中集成自动化代码漏洞扫描工具变得尤为关键。Jenkins,作为业界广泛应用的CI工具,其强大的扩展性为我们提供了集成各种插件的便利。而SonarQube,作为领先的代码质量管理平台,通过其全面的代码分析功能,帮助我们发现并修复代码中的潜在漏洞和不良实践。

        本文将详细阐述如何在Jenkins中配置SonarQube代码漏洞扫描工具,通过简洁明了的步骤,指导实现代码质量的自动化检测,从而提升软件的整体质量和安全性。

1、Sonar安装与配置

        1.1、SonarQube下载

                下载地址:www.sonarsource.com

        1.2、SonarQube安装

                1.2.1、解压文件

        将zip文件上传至服务器,通过命令解压文件

Unzip sonarqube-9.7.0.61563.zip

                1.2.2、创建普通用户

        使用root用户运行任何应用程序,都会带来潜在的安全风险。root用户拥有对系统的完全访问权限,因此任何漏洞或不当操作都可能对系统造成严重影响。
当使用root用户启动SonarQube时,它可能会创建或修改一些文件和目录,这些文件和目录的默认所有者将是root。这可能导致后续以非root用户身份运行时出现权限问题;SonarQube集成了Elasticsearch等组件,这些组件通常不建议以root用户运行,因为它们需要限制对系统资源的访问以防止潜在的安全问题。
        最佳安全实践之一是避免使用root用户运行应用程序。相反,应该使用具有适当权限的专用用户账户来运行应用程序。

        在Linux系统中,可以使用adduser或useradd命令创建一个新用户,例如sonar。

useradd sonar -p sonar

        执行后可以看到home目录下新增了用户sonar的文件夹

                1.2.3、普通用户授权

        将 sonarqube目录及其包含的所有文件和子目录的所有者更改为用户 sonar。进入到sonarqube文件夹上级目录,执行命令。

chown -R sonar sonarqube/

         执行之后,通过命令ll可以看到用户由root变成了sonar

        1.3、启动Sonar

        启动sonar前,先切换普通⽤户再运⾏

su sonar

        进入到sonarqube目录下linux环境启动文件所在目录,执行命令

# 进入到启动目录下
cd ./sonarqube/bin/linux-x86-64/
# 执行启动
./sonar.sh start

# 或者进入到sonarqube目录下直接执行
./bin/linux-x86-64/sonar.sh start

1.3、访问SonarQube

         1.3.1、登录SonarQube

        浏览器输入地址:http://ip:9000
        默认账号/密码:admin/admin

        1.3.2、重置密码

         填写密码后点击Update,进行登录。注意:新旧密码不能相同

1.4、SonarQube汉化

         1.4.1、下载汉化包

        SonarQube首页找到导航栏Administration--Marketplace--Plugins,输入框输入Chinese,出现汉化包,此时你会点击install,但是没用,不能安装;需要我们手动下载:点击搜索到的插件里面的“Homepage”进入汉化包的github,点击Latest version,点击.jar文件下载jar包

1.4.2、部署汉化包

        将下载的jar包放到我们安装的sonarqube路径下的插件文件夹下,我的路径是/usr/local/sonarqube/extensions/plugins;然后重启我们的sonarqube(./bin/linux-x86-64/sonar.sh restart);重新刷新sonarqube页面即可

1.5、添加Token令牌

        这一步主要是为了在Jenkins添加sonarqube的登录凭证;进入Sonarqube--账号--我的账号--通用令牌填写相关信息,然后点击生成

2、Jenkins配置

         2.1、安装插件

        进入Manages Jenkins--Plugins,搜索SonarQube插件进行安装

        2.2、Tools配置

        进入Manages Jenkins--Tools,找到SonarQube Scanner安装,点击SonarQube Scanner安装下拉框,输入name、勾选install、选择版本(此处我选择的是默认版本6.1.0.4477),然后进行保存

        2.3、系统配置

                2.3.1、配置SonarQube servers

        Jenkins进入Manages Jenkins--System,找到SonarQube servers;勾选Environment ,填写name(自定义)、URL(SonarQube链接地址)、token(sonar凭证)

                2.3.2、添加凭证

        此处添加凭证类型选择text,Secret填写我们在sonarqube创建的令牌,填写描述,点击添加

        创建凭证之后记得回来在Server authentication token栏选择我们添加好的凭证,然后进行保存

     2.4、项目配置

        进入项目配置页,点击增加构建步骤,选择Execute SonarQube Scanner;

        然后找到Analysis properties栏填写执行命令,保存配置;

sonar.projectname=${JOB_NAME}

sonar.projectKey=${JOB_NAME}

sources=./

sonar.java.binaries=PytestApiFrame/

        其中“sources=./”表示当前项目工作路径,

        “sonar.java.binaries=PytestApiFrame/”表示需要sonar扫描的项目代码文件目录

 3、项目构建

        3.1、直接构建项目

        通过日志信息可以看到已经在安装sonar scanner文件

         3.2、查看扫描信息

         构建完成后在项目页面便可以看到sonar图标,点击查看扫描信息

        点击扫描结果,可以查看具体缺陷、漏洞详情,根据详情修复我们的代码。

总结

        通过本文的指引,基本了解如何在Jenkins中集成SonarQube代码漏洞扫描工具,并掌握了从插件安装、项目配置到扫描执行的完整流程。这一集成不仅简化了代码质量检测的流程,还提高了检测的效率和准确性。可以利用这一强大的工具,在持续集成的过程中及时发现并修复代码中的漏洞,为软件的稳定运行和安全性保驾护航。

  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值