Docker, Docker-compose部署Sonarqube

参考文档

  • 镜像地址:

https://hub.docker.com/_/sonarqube/tags

  • Docker部署文档地址

Installing from Docker | SonarQube Docs

  • Docker-compose文档部署地址:

Installing from Docker | SonarQube Docs

部署镜像

2.1 docker部署

# 宿主机执行
$. vi /etc/sysctl.conf
# 添加
vm.max_map_count = 655360# 刷新配置, 使其生效
$. sysctl -p# 下载镜像
# docker pull sonarqube:community
docker pull sonarqube:10.3.0-community# 嵌入式数据库示例
$ docker run --rm \
-p 9000:9000 \
-v sonarqube_extensions:/opt/sonarqube/extensions \
<image_name># 第三方数据库示例
docker run -d --name sonarqube \
-p 9000:9000 \
-e SONAR_JDBC_URL=... \
-e SONAR_JDBC_USERNAME=... \
-e SONAR_JDBC_PASSWORD=... \
-v sonarqube_data:/opt/sonarqube/data \
-v sonarqube_extensions:/opt/sonarqube/extensions \
-v sonarqube_logs:/opt/sonarqube/logs \
<image_name># use
docker run -d --name sonarqube \
-p 9000:9000 \
-e SONAR_JDBC_URL=... \
-e SONAR_JDBC_USERNAME=... \
-e SONAR_JDBC_PASSWORD=... \
-v sonarqube_data:/opt/sonarqube/data \
-v sonarqube_extensions:/opt/sonarqube/extensions \
-v sonarqube_logs:/opt/sonarqube/logs \
sonarqube:10.3.0-community

2.2 docker-compose部署(use)

启动命令

# 宿主机执行
$. vi /etc/sysctl.conf
# 添加
vm.max_map_count = 655360# 刷新配置, 使其生效
$. sysctl -p$. mkdir /usr/local/sonarqube -p
$. cd /usr/local/sonarqube
$. mkdir -p sonarqube_data sonarqube_extensions sonarqube_logs sonarqube_pdf
$. chmod 777 s* -R
$. vi docker-compose.yml$. docker-compose up $. docker exec -it sonarqube-cn mkdir /opt/sonarqube/pdf-files -p
$. docker exec -it sonarqube-cn chmod 777 /opt/sonarqube/pdf-files -R$. docker-compose up -d 
$. docker-compose down
$. docker-compose stop
$. docker-compose restart# logs
$. docker-compose logs
$. docker-compose logs -f --tail=100 -t sonarqube-vm
$. docker-compose logs -f -n=100 -t sonarqube-vm$. docker exec -it kafka-1 /bin/bash# ======================= 其它命令参考 ==================== # 
# stop 指定容器
docker-compose stop kafka# 删除容器
docker-compose rm -f kafka

docker-compose 文件

version: "3"services:sonarqube:hostname: sonarqube-vmcontainer_name: sonarqube-cn# image: sonarqube:10.3.0-communityimage: sonarqube:9.9.3-community#sysctls:#  net.core.somaxconn: 10240#  vm.max_map_count: 655360privileged: true restart: always  depends_on:- dbenvironment:SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonarSONAR_JDBC_USERNAME: sonarSONAR_JDBC_PASSWORD: sonarvolumes:- ./sonarqube_data:/opt/sonarqube/data- ./sonarqube_pdf:/opt/sonarqube/pdf-files- ./sonarqube_extensions:/opt/sonarqube/extensions- ./sonarqube_logs:/opt/sonarqube/logsports:- "9000:9000"db:hostname: postgresql-vmcontainer_name: postgresql-cnprivileged: true restart: alwaysimage: postgres:12environment:POSTGRES_USER: sonarPOSTGRES_PASSWORD: sonarvolumes:- ./postgresql:/var/lib/postgresql- ./postgresql_data:/var/lib/postgresql/data#volumes:
#  sonarqube_data:
#  sonarqube_extensions:
#  sonarqube_logs:
#  postgresql:
#  postgresql_data:

访问和配置中文界面

3.1 访问页面

运行成功后,浏览器访问 localhost:9000,账号密码均为 admin,配置中文界面,并重启。
路径: administrator -> marketplace -> 搜索chinese

将jar包放在/usr/local/sonarqube/sonarqube_extensions/downloads/文件夹下。

2.3 重启后即为中文界面

重启后Sonarqube会自动将jar包插件移动到/usr/local/sonarqube/sonarqube_extensions/plugins/文件夹下。

安装PDF插件

4.1 上传sonar-pdf-plugin插件

插件源码地址:

  • sonar-pdf-plugin: sonarqube生成pdf报告插件,支持 5.5--7.x

下载地址:

  • sonar-pdfreport-en-plugin-4.0.1.jar资源-CSDN文库
  • sonar-pdfreport-zh-plugin-4.0.1.jar资源-CSDN文库

适用SonarQube版本 : 5.5--9.9。

把下载好的插件放到Sonarqube安装目录的

/usr/local/sonarqube/sonarqube_extensions/downloads/目录下,

重启Sonarqube服务即可。

重启后Sonarqube会自动将jar包插件移动到/usr/local/sonarqube/sonarqube_extensions/plugins/文件夹下。

4.2 配置PDF导出插件

# 服务重启后可以看到配置页如下,PDF report为添加插件后新增页签。

填入Sonarqube管理员的usernamepassword并保存,需要将原分析项目删除并重新分析项目。

4.3 创建测试项目

1)创建新令牌

注意:这里以Java语言Maven项目为例,其他语言的项目请自行测试

2)执行SonarQube扫描

进入要分析项目的根目录(当前目录下必须有pom.xml)cmd进入该目录下的命令界面执行mvn package sonar:sonar(旧版本可执行任意mvn命令后缀添加sonar:sonar进行代码分析,但较高版本sonar分析代码需要jar/war包)。

注意:需要mvn工具

mvn sonar:sonar \
-Dsonar.projectKey=Test \
-Dsonar.host.url= http://xxx.com \
-Dsonar.login=bd5695a663d82fac851e295fac3e43ccd3406136

3)成功分析代码并产出PDF会额外打印如下信息

4)下载PDF

点击项目下"更多 -->> Download Pdf Report"

至此,Sonarqube导出PDF分析报告部署完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/259693.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

response应用及重定向和request转发

请求和转发&#xff1a; response说明一、response文件下载二、response验证码实现1.前置知识&#xff1a;2.具体实现&#xff1a;3.知识总结 三、response重定向四、request转发五、重定向和转发的区别 response说明 response是指HttpServletResponse,该响应有很多的应用&…

geolife笔记:整理处理单条轨迹

以 数据集笔记 geolife &#xff08;操作篇&#xff09;_geolife数据集-CSDN博客 轨迹为例 1 读取数据 import pandas as pd data pd.read_csv(Geolife Trajectories 1.3/Data//000/Trajectory/20081023025304.plt,headerNone, skiprows6,names[Latitude, Longitude, Not_Im…

JVM常见垃圾回收器

串行垃圾回收器 Serial和Serial Old串行垃圾回收器&#xff0c;是指使用单线程进行垃圾回收&#xff0c;堆内存较小&#xff0c;适合个人电脑 Serial作用于新生代&#xff0c;采用复制算法 Serial Old作用于老年代&#xff0c;采用标记-整理算法 垃圾回收时&#xff0c;只有…

一文讲解如何从 Clickhouse 迁移数据至 DolphinDB

ClickHouse 是 Yandex 公司于2016年开源的 OLAP 列式数据库管理系统&#xff0c;主要用于 WEB 流量分析。凭借面向列式存储、支持数据压缩、完备的 DBMS 功能、多核心并行处理的特点&#xff0c;ClickHouse 被广泛应用于广告流量、移动分析、网站分析等领域。 DolphinDB 是一款…

解决Idea右侧无Maven选项的问题

在创建 Spring / SpringBoot 项目的时候可能会遇到没有 Maven 选项的问题&#xff0c;如下图&#xff1a; 我们通常这样解决&#xff1a;

JPA对数据库修改注意点

同一事务中获取不到修改数据 spring-boot-starter-parent版本2.7.12 Dao Query(value "select * from inventory_list where id in (?1) order by id desc",nativeQuery true) List<InventoryListEntity> getByIds(List<Integer> idList);Modifyin…

【数值计算方法(黄明游)】解线性代数方程组的迭代法(一):向量、矩阵范数与谱半径【理论到程序】

文章目录 一、向量、矩阵范数与谱半径1、向量范数a. 定义及性质补充解释范数差 b. 常见的向量范数 l 1 l_1 l1​、 l 2 l_2 l2​、 l ∞ l_\infty l∞​ 范数性质关系 2、矩阵范数a. 矩阵的范数b. 常见的矩阵范数相容范数算子范数 3、谱半径4、知识点总结1. 向量范数2. 矩阵范数…

Ubuntu下,数据库编程报错fatal error: mysql.h: No such file or directory 的处理方法

#include <iostream> #include <mysql.h>using namespace std;int main() {cout << "Hello MySQL" << endl;return 0; }编译报错&#xff1a; Build messages /usr/local/include/mysql/common.h|232|fatal error: mysql.h: No such file o…

深入了解Java 8日期时间新玩法:DateTimeFormatter与ZoneOffset的使用

推荐语 在这篇文章中&#xff0c;我们将深入探讨Java中的DateTimeFormatter和ZoneOffset类的功能和使用方法。这些类是在Java 8中引入的新的日期时间API的一部分&#xff0c;它们为我们提供了更灵活、更易用的日期和时间处理能力。尽管这些类在Java 8中已经出现&#xff0c;但…

kafka学习笔记--安装部署、简单操作

本文内容来自尚硅谷B站公开教学视频&#xff0c;仅做个人总结、学习、复习使用&#xff0c;任何对此文章的引用&#xff0c;应当说明源出处为尚硅谷&#xff0c;不得用于商业用途。 如有侵权、联系速删 视频教程链接&#xff1a;【尚硅谷】Kafka3.x教程&#xff08;从入门到调优…

【MySQL】MySQL的varchar字段最大长度是65535?

在MySQL建表sql里,我们经常会有定义字符串类型的需求。 CREATE TABLE `user` ( `name` varchar(100) NOT NULL DEFAULT COMMENT 名字) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ; 比方说user表里的名字,就是个字符串。MySQL里有两个类型比较适合这个场景。 char和varchar。…

CentOS 7.9安装宝塔面板,安装gitlab服务器

docker安装方式比较慢&#xff0c;安装包1.3GB 安装后启动很慢 docker logs q18qgztxdvozdv_gitlab-ce-gitlab-1 docker ps docker exec -it q18qgztxdvozdv_gitlab-ce-gitlab-1 sh cd /etc/gitlab cat initial_root_password 软件商店安装方式&#xff0c;失败了2023.12…