sonar搭建(linux系统)

这篇具有很好参考价值的文章主要介绍了sonar搭建(linux系统)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前景

静态代码扫描是CI/CD中重要的一环,可以在代码提交到代码仓库之后,在CI/CD流程中加入代码扫描步骤,从而及时地对代码进行质量的检查。这可以有效地降低后期维护成本,优化产品质量,提高产品交付速度。同时,静态代码扫描还可以将代码问题自动通知给开发人员,使得问题得到及时发现和解决。

通俗地说,通过将静态代码分析融入到CI/CD流程中,可以进一步提高软件开发过程的效率和质量,帮助团队快速交付高质量的产品。

静态代码分析

静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如:参数不匹配、有歧义的嵌套语句、错误的递归、非法计算、可能出现的空指针引用等等。

作用一个

  • 快速定位代码隐藏错误和缺陷;
  • 提高软件可靠性并节省软件开发和测试成本;

java代码分析

sonar搭建(linux系统),jenkins,jenkins,sonarpython代码分析

 sonar搭建(linux系统),jenkins,jenkins,sonar

Sonarqube介绍

是一款开源的代码质量管理平台,用于检测代码中的错误,漏洞和代码规范,通过插件的机制,可以基于现有的Gitlab、Jenkins 集成、以便在项目拉取后进行连续的代码检查。旨在提供一个完整的代码质量管理解决方案。

优势

  • 支持众多计算机编程语言
  • 通过插件机制能集成IDE、Jenkins、Git等
  • 内置大量常用代码检查规则
  • 支持定制开发规则
  • 可视化界面
  • 支持从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目

框架

  • 数据库层:Sonarqube使用一个数据库来存储所有的代码质量数据。
  • 应用程序层:Sonarqube的应用程序层包括一系列基于Java的Web应用程序,这些应用程序负责收集数据、分析代码和生成报告等任务。
  • 插件层:Sonarqube的插件层是一个可扩展的架构,它允许用户安装和使用各种不同的插件来增强Sonarqube的功能和灵活性。
  • 数据采集层:Sonarqube支持多种不同的代码仓库和版本控制系统,包括SVN、Git、Mercurial和ClearCase等。使用这些数据采集插件,Sonarqube可以轻松地从不同的代码库中收集数据。

工作原理

  1. 代码收集:首先,Sonarqube向代码仓库请求代码,并将代码下载到本地。
  2. 代码分析:然后,Sonarqube使用其内置的代码分析器分析代码并生成有关代码质量的重要信息,例如代码复杂性、代码重复性、代码测试覆盖率等。
  3. 数据存储:Sonarqube将收集的数据存储在其数据库中,以供后续使用。
  4. 报告生成:Sonarqube使用其内置的报告生成器生成各种数据可视化图表、报告和警告,并将其呈现给用户。
  5. 反馈和持续改进:用户可以使用Sonarqube提供的反馈功能来共享意见和建议,以改善代码质量。此外,Sonarqube还提供了持续集成和持续交付等功能,以帮助团队在代码开发过程中不断改进代码质量。

sonarqube7.8版本支持MS SQLserver、Oracle、Postgresql、MySQL四种数据库,但是从7.8版本之后,sonarqube不再支持MySQL数据库,

部署 

 环境要求

软件

版本

jdk

17

postgersql

12.1

sonarqube

10.1

下载地址

Code Quality, Security & Static Analysis Tool with SonarQube | Sonar

sonar搭建(linux系统),jenkins,jenkins,sonar

 sonar搭建(linux系统),jenkins,jenkins,sonar

 本次选择10.1社区版本安装(点击下载后,先进行后续操作,等下载完成后上传至linux服务器)

 sonar搭建(linux系统),jenkins,jenkins,sonar

查看官方文档

sonar搭建(linux系统),jenkins,jenkins,sonar

最小配置要求

sonar搭建(linux系统),jenkins,jenkins,sonar

 jdk版本

 sonar搭建(linux系统),jenkins,jenkins,sonar

 postgresql版本

sonar搭建(linux系统),jenkins,jenkins,sonar

安装

安装docker
yum install docker

docker version

sonar搭建(linux系统),jenkins,jenkins,sonar

#启动docker服务
systemctl start docker
systemctl status docker
systemctl enable docker

sonar搭建(linux系统),jenkins,jenkins,sonar

 postgresql安装
#此处直接使用docker安装
#默认用户名是 postgres  ,密码是123456

docker run --name postgres -v dv_pgdata:/var/lib/postgresql/data --restart=always -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:12.1

sonar搭建(linux系统),jenkins,jenkins,sonar

#查看服务
docker ps -a

sonar搭建(linux系统),jenkins,jenkins,sonar

安装jdk17

(请参考如下链接)

Linux安装java17-CSDN博客

sonar搭建(linux系统),jenkins,jenkins,sonar

 在PostgreSQL中新建sonar数据库:
docker exec -it postgres bash
su postgres
psql -U postgres -W
123456
CREATE DATABASE sonar;

sonar搭建(linux系统),jenkins,jenkins,sonar

 上传下载完的sonarqube安装包到服务器

sonar搭建(linux系统),jenkins,jenkins,sonar

 解压
unzip sonarqube-10.1.0.73491.zip
mv sonarqube-10.1.0.73491 sonarqube-10.1.0
创建用户
# 创建sonar用户,sonar不能用root启动,否则报错
useradd sonar
#设置密码
passwd sonar

sonar搭建(linux系统),jenkins,jenkins,sonar

 设置权限
#(文件目录根据自己实际进行修改)
chown -R sonar /app/sonar/sonarqube-10.1.0
sonar搭建(linux系统),jenkins,jenkins,sonar修改配置文件
vim /app/sonar/sonarqube-10.1.0/conf/sonar.properties
sonar.jdbc.username=postgres
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonar
修改JVM参数(sonar版本要求)
-Xmx 和 -Xms 是 Java 虚拟机(JVM)的参数,用于设置 Java 程序的堆内存的最大值(maximum heap size)和初始值(initial heap size)。
-Xmx 参数用于设置 Java 程序的堆内存的最大值。
-Xms 参数用于设置 Java 程序的堆内存的初始值


sonar.web.javaOpts=-Xmx2g -Xms1g -XX:+HeapDumpOnOutOfMemoryError

sonar搭建(linux系统),jenkins,jenkins,sonarsonar搭建(linux系统),jenkins,jenkins,sonar

 sonar默认自带了ES,所以需要修改配置,防止启动报错:

vim /etc/security/limits.conf
# 追加内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096

sonar搭建(linux系统),jenkins,jenkins,sonar

vim /etc/security/limits.d/90-nproc.conf
# 追加内容
* soft nproc 4096

sonar搭建(linux系统),jenkins,jenkins,sonar

vim /etc/sysctl.conf
# 追加内容
vm.max_map_count=655360

sonar搭建(linux系统),jenkins,jenkins,sonar

启动sonar

(sonar的默认端口是9000)

切换至sonar用户

su sonar
cd /app/sonar/sonarqube-10.1.0/bin/linux-x86-64

启动

sh sonar.sh start

sonar搭建(linux系统),jenkins,jenkins,sonar停止

sh sonar.sh  stop

查看日志

tail -f /app/sonar/sonarqube-10.1.0/logs/sonar.log

sonar搭建(linux系统),jenkins,jenkins,sonar

登录页面

默认用户名admin密码admin 

sonar搭建(linux系统),jenkins,jenkins,sonar

修改密码

sonar搭建(linux系统),jenkins,jenkins,sonar

可以使用啦 !!!

sonar搭建(linux系统),jenkins,jenkins,sonar文章来源地址https://www.toymoban.com/news/detail-848150.html

到了这里,关于sonar搭建(linux系统)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jenkins集成Sonar Qube

    2024年01月17日
    浏览(37)
  • git视频教程Jenkins持续集成视频教程Git Gitlab Sonar教程

    @[TOC这里写自定义目录标题) https://edu.51cto.com/lesson/290903.html 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标

    2024年02月11日
    浏览(41)
  • Jenkins的安装搭建(linux)

    Jenkins是一款自动化部署工具,它可以在Linux操作系统上运行,可以帮助我们构建、测试、分发我们的软件。Jenkins底层使用Java编写,可以通过插件方式扩展它的功能,非常灵活。目前Jenkins已经成为了非常流行的CI/CD工具,由于其免费、开源,所以受到了广大用户的喜爱。 1、官

    2024年02月11日
    浏览(27)
  • Jenkins搭建步骤Linux环境

    安装jdk 安装maven 安装tomcat 安装node 下载Jenkins.war并且拷贝进tomcat的webapp的文件夹下。 环境变量配置如下自行更改:

    2024年02月09日
    浏览(35)
  • Linux环境搭建Jenkins(详细图文)

    目录 简介Jenkins 特点 一、环境准备 1.jdk环境准备 2.maven环境准备 3.git环境准备  二、安装部署Jenkins(采用war包方式) 1.下载Jenkins ​2.启动war包 1)将下载好的Jenkins的war包上传到服务器上 2)编辑启动脚本,方便 3)启动Jenkins的war 3.浏览器访问 4.插件安装  5.创建管理员账号 6

    2024年02月21日
    浏览(38)
  • Linux下Jenkins服务搭建及配置

    目录 一、简介 二、Jenkins自动化部署实现原理 三、安装Jenkins 3.1、搭建java环境 3.2、安装Jenkins 3.2.1、安装curl 3.2.2、导入Jenkins秘钥 3.2.3、添加Jenkins apt存储库条目 3.2.4、安装Jenkins 四、配置Jenkins 4.1、启动Jenkins服务 4.2、修改Jenkins监听端口 4.3、配置Jenkins自启动 4.4、配置Jenkins域

    2023年04月18日
    浏览(37)
  • Ubuntu上搭建Sonar Qube(developer版)服务器

    之前出过一篇关于SonarQube社区版的镜像启动的方法,搭建SonarQube服务来检测代码,但是有些服务从开发版才支持,最低开发板(比如DevOps PR集成),今天我们就来搭建一台开发版的SonarQube服务器。(除了社区版,其他版本是不支持镜像的) 官方文档介绍:最小2核运行内存 我

    2024年01月24日
    浏览(37)
  • 云计算课程-Ubuntu系统搭建jenkins服务

    博客内容是云计算课程搭建DevOps流水线的步骤之一,即搭建jenkins服务 可以单独运用于jenkins服务的搭建 也可以作为搭建dev-ops中jenkins-server主机的步骤之一 使用的实验环境为:Ubuntu20.04.5、jenkins 在此进行记录 云计算课程第四次实验-搭建DevOps流水线: 云计算课程第四次实验-搭

    2024年04月27日
    浏览(34)
  • linux环境下docker中搭建 jenkins 及自定义访问路径,利用nginx反向代理

    前两天发布了完整的 linux服务器上Docker中安装jenkins 在实际的开发中,可能我们并不能直接开放8081或者8080端口给jenkins使用,常常是通过nginx方向代理来实现的,这里我们来配置一下。 如果你还没有安装 可以参考我这篇文章 linux服务器上Docker中安装jenkins 看到目录: 创建一个

    2024年02月16日
    浏览(56)
  • Sonar+postsql的安装配置,centos7.9系统

    1.安装postsql15 2.进入postgres并且,创建sonar数据库 3.下载sonar安装包(java版本为java17) https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.4.87374.zip 下载完成后上传到linux服务器中 4.准备环境并且配置相关配置 5. 启动sonar使用sonar用户启动 6.启动成功,访问 192.168.118.182:9000 (端口可

    2024年04月18日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包