sonarqube安装以及jenkins集成sonarqube

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

一、sonarqube安装

docker方式安装sonarqube

docker 方式安装是最简便的,我选择了这个安装方式
1、下载镜像

docker pull postgres:latest
docker pull sonarqube

2、 创建挂载目录

#用于postgres的挂载目录
mkdir -p /opt/postgres/postgresql
mkdir -p /opt/postgres/data

mkdir -p /opt/sonarqube/logs
mkdir -p /opt/sonarqube/conf
mkdir -p /opt/sonarqube/data
mkdir -p /opt/sonarqube/extensions

3、运行容器

docker run --name postgres -d -p 5432:5432 --net sonarqube \
-v /opt/postgres/postgresql:/var/lib/postgresql \
-v /opt/postgres/data:/var/lib/postgresql/data \
-v /etc/localtime:/etc/localtime:ro \
-e POSTGRES_USER=sonar \
-e POSTGRES_PASSWORD=sonar \
-e POSTGRES_DB=sonar \
-e TZ=Asia/Shanghai \
--restart always \
--privileged=true \
--network-alias postgres \
postgres:latest
docker run -d --name sonarqube -p 9090:9000 \
 -e ALLOW_EMPTY_PASSWORD=yes \
 -e SONARQUBE_DATABASE_USER=sonar \
 -e SONARQUBE_DATABASE_NAME=sonar \
 -e SONARQUBE_DATABASE_PASSWORD=sonar \
 -e SONARQUBE_JDBC_URL="jdbc:postgresql://postgres:5432/sonar" \
 --net sonarqube \
 --privileged=true \
 --restart always \
 -v /opt/sonarqube/logs:/opt/sonarqube/logs \
 -v /opt/sonarqube/conf:/opt/sonarqube/conf \
 -v /opt/sonarqube/data:/opt/sonarqube/data \
 -v /opt/sonarqube/extensions:/opt/sonarqube/extensions\
 sonarqube

4、通过ip 端口访问:http://ip:9090

二、jenkins集成sonarqube

1、jenkins下载插件:
进入插件管理,搜索sonar,选择SonarQube Scanner for Jenkins安装,安装好后重启jenkins服务。
sonarqube安装以及jenkins集成sonarqube
2、sonarqube创建访问令牌
sonarqube中生成用户的访问令牌,代替用户名和密码,避免密码在网络中传输。
sonarqube安装以及jenkins集成sonarqube
sonarqube安装以及jenkins集成sonarqube
点击生成后会出现一个token,要复制下来,只会显示一次。
3、jenkins系统设置
sonarqube安装以及jenkins集成sonarqube
sonarqube安装以及jenkins集成sonarqube
点击添加,选择下拉框中的Jenkins,进入到jenkins的凭证创建
sonarqube安装以及jenkins集成sonarqube
4、全局工具配置
sonarqube安装以及jenkins集成sonarqube
该工具就是用来扫描代码的。
5、sonarqube中创建项目
sonarqube安装以及jenkins集成sonarqube

sonarqube安装以及jenkins集成sonarqube
项目标识就写解决方案名称。
sonarqube安装以及jenkins集成sonarqube
还写解决方案名称,点击创建。
sonarqube安装以及jenkins集成sonarqube
到此,项目创建成功,再点击继续是告诉你不同语言的执行命令,不用管,直接退出该界面就可以。

6、sonarqube权限的设置。
sonarqube安装以及jenkins集成sonarqube
sonarqube安装以及jenkins集成sonarqube
7、 sonarqube给用户分配执行分析等权限。
sonarqube安装以及jenkins集成sonarqube
sonarqube安装以及jenkins集成sonarqube

8、jenkins中创建项目
jenkins中创建一个项目,配置好git。
配置sonar-project.properties文件
内容如下:

#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://192.214.3.22:9090
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
sonar.sources=.
sonar.exclusions=**/src/**,**/Views/**,**/wwwroot/**,/**static/**,/**build/**
sonar.projectKey=MOM.SCHEDULE
dotnet sonarscanner begin /k:"testproject" /n:"testproject" /v:1.1
dotnet build
dotnet sonarscanner end 

sonar.host.url:是sonarqube的访问地址
sonar.sourceEncoding:使用的编码格式
sonar.sources:需要扫描的代码源目录,写.就是当前项目的根目录
sonar.exclusions:指定不要扫描的文件夹,多个用逗号隔开
sonar.projectKey:项目key ,就是sonarqube创建项目的名称
dotnet sonarscanner begin /k:“testproject” /n:“testproject” /v:1.1
/k 和/n 后面都是sonarqube创建项目的名称; /v 是版本号,随意写

dotnet build:编译项目
将sonar-project.properties文件放到解决方案的根目录下
sonarqube安装以及jenkins集成sonarqube

在jienkins中构建环境,勾选上图项,token就是之前添加的凭证。
sonarqube安装以及jenkins集成sonarqube
在构建中,添加execute sonarqube scanner ,因为已经添加了sonar-project.properties文件,所以在这里只要选择jdk就可以,分析项目不用写。

然后点击构建,结果如下:
sonarqube安装以及jenkins集成sonarqube
onar-project.properties文件也可以不用写,直接把sonar-project.properties里面的内容放到构建中的execute sonarqube scanner里面的分析项目里边,同样可以执行成功。

三、解决不能扫描cs文件问题

用以上方式的sonarqube扫描 c#项目 会略过.cs文件,无法扫描出c#的问题
sonarqube安装以及jenkins集成sonarqube
sonar7 以后版本,默认的 sonar-scanner 加 sonar-project.properties 配置文件,扫描c#的项目会出现,扫描不报错,但是显示结果为空.

jenkins 在linux 环境中要想扫描 c#项目必须使用 dotnet-sonarscanner 扫描

解决过程

1、首先我的jenkins是已经安装了dotnet sdk的。
2、安装 dotnet scanner #
进入jenkins容器:

执行 dotnet tool install --global dotnet-sonarscanner
就成功安装好 Sonar Scanner 了。

  添加环境变量:
  vim  /etc/profile

sonarqube安装以及jenkins集成sonarqube
添加以上环境变量,重启容器。
3、分析代码
第一步:sonarqube中创建项目
sonarqube安装以及jenkins集成sonarqube

sonarqube安装以及jenkins集成sonarqube
sonarqube安装以及jenkins集成sonarqube
sonarqube安装以及jenkins集成sonarqube
将这个访问token 保存下来。
第二步:在jenkins中创建项目
sonarqube安装以及jenkins集成sonarqube
配置拉取源码地址
sonarqube安装以及jenkins集成sonarqube
配置构建中的执行shell, 把分析的命令写上。

--------开始扫描,
/k 后面是项目名称,跟sonarqube中的项目名,
host.url 是sonarqube的访问地址
login 是在建项目的时候产生的访问token。
dotnet build ****.API.csproj
要编译的csproj文件的具体路径。
该项目有多个文件夹,可以写多个一起分析。
dotnet-sonarscanner end /d:sonar.login=“0c1a9ad983f40b6c2942290dab86917b7b924c8c”
这个就是分析结束,并上传报告。

构建成功后,在看sonarqube中的结果。
sonarqube安装以及jenkins集成sonarqube
已经扫描了C#的文件文章来源地址https://www.toymoban.com/news/detail-513025.html

到了这里,关于sonarqube安装以及jenkins集成sonarqube的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • gitlab部署及整合Jenkins持续构建(四)sonarqube9.9安装和使用(一步一坑)

    官网给出的各种环境下安装postgresql步骤:https://www.postgresql.org/download/ 以 CentOS7 + jdk17 为例: yum安装完,默认的pgsql-13的数据目录在 /var/lib/pgsql/13/data/ 除非 /var 目录可用空间很大,否则需要修改数据目录 记录配置文件路径,修改 listen_addresses = \\\'*\\\' ,postgresql启动参数 定义哪些

    2024年02月02日
    浏览(29)
  • docker中的jenkins去配置sonarQube

    SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。 1、代码质量和安全扫描和分析平台。 2、多维度分析代码:代码量、安全隐患

    2024年02月14日
    浏览(30)
  • Linux部署Sonarqube+Gogs+Jenkins(一)

    需要下载对应的jdk的包 – jdk 11 或者通过xftp软件传输到服务器中 a. 添加一个环境变量:JAVA_HOME – java的路径 b. 添加一个环境变量:CLASSPATH c. 将JAVA可执行文件添加到PATH当中 d. 进行保存:esc ————:wq https://blog.csdn.net/YZL40514131/article/details/121583650 nohup java -jar jenkins.war jenki

    2024年04月17日
    浏览(25)
  • Linux部署sonarqube+Gogs+Jenkins(二)

    第一步:确认环境,进入到Jenkins【系统管理】—【全局工具配置】—【Git】为下图显示; 如果是windows系统,显示的是git.exe 如果是云服务器,显示的是git 第二步:构建项目时对项目的源码管理选择 Git 第三步:输入你仓库的SSH地址或者https地址,并且添加gitee的用户名和密码

    2024年04月11日
    浏览(26)
  • Gitee+Jenkins+SonarQube代码上线的实战

    image.png image.png 提示: 该公司的Java业务项目比较多的话,可以单独安装nexus。 如果不多可以使用阿里云的私服器。 1、安装JDK运行环境 和 Jenkins服务 2、Maven服务 3、部署私服 Nexus (可选) 下载地址:https://www.sonatype.com/download‐oss‐sonatype 配置仓库两个选项 1、项目下的pom.xml配置

    2024年01月22日
    浏览(44)
  • 程序采用Jenkins 持续集成部署、发布以及常见问题、解决办法列表

        如果不采用工具的话,网站的发布更新是一个简单但麻烦的事情,在这个方面,jenkins是一个很好用的工具。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,包括持续的软件版本发布/测试项目。并可监控外部调用执行的工作。今天在本博客平台上部

    2024年04月25日
    浏览(34)
  • Azure Devops集成 SonarQube检测代码质量

    SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。同时 SonarQube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 SonarQube. 通过插件形式,可以支持包括 Java,C#,C/C++、PL/SQL、Cobol、JavaScrip、Groovy、Ruby 、python等二十五种编程语言的代

    2024年01月16日
    浏览(35)
  • 『Jenkins』最新版Jenkins安装与Git集成—CentOS 7安装的详细教程

    📣读完这篇文章里你能收获到 图文形式安装Jenkins 在Jenkins集成Git并进行的配置 感谢点赞+收藏,避免下次找不到~ Jenkins是一个开源的自动化工具,广泛用于软件开发和持续集成。本文将介绍如何在CentOS 7操作系统上安装Jenkins,并配置其基本设置。 Jenkins是基于Java开发的,最新

    2024年02月09日
    浏览(34)
  • 【微服务部署】一、使用docker-compose部署Jenkins、SonarQube、PostgreSQL

    一、安装 1、编写docker-compose部署Postgres、SonarQube、Jenkins的yml文件jenkins-compose.yml Postgres:作为SonarQube的数据库存储 SonarQube:代码质量检查 Jenkins:jenkins/jenkins:lts镜像,jenkinsci/blueocean镜像缺少node运行时环境,导致node无法运行。 关键配置说明( 宿主机 : Docker容器): /data/doc

    2024年02月09日
    浏览(30)
  • DevOps概念及搭建全过程(Jenkins、Harbor、SonarQube、K8s)

    在如今互联网的格局下,抢占市场变得尤为重要,因此敏捷开发越来越被大家所推崇。于是,慢慢的有了DevOps这个概念,大致意思是开发-运维一体化。 1.1 基本概念 可以看到上图是一个无穷大的一个符号,Dev对应开发,Ops对应运维。 DevOps的方式可以让公司能够更快地应对更

    2023年04月17日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包