卸载docker及其镜像方法+docker搭建代码质量检测平台sonarqube+maven方式扫描java代码...

本文主要是介绍卸载docker及其镜像方法+docker搭建代码质量检测平台sonarqube+maven方式扫描java代码...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  Sonar 是一个用于代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括 java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy 等等。sonar服务搭建有很多种方式,本文介绍通过docker方式安装sonar服务器的流程,以供参考。

  1、本次所使用的服务器相关信息简单罗列

    服务器使用CenterOS 7(需连接互联网,本文使用yum方式安装,方便快捷),

    JDK版本为JDK11(sonar对JDK的支持从7.7之后均为JDK11)

  2、docker安装,依次执行如下命令

  • sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
    
  • sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
  • sudo yum-config-manager --enable docker-ce-nightly  
    
  • sudo yum install docker-ce docker-ce-cli containerd.io
    

  3、安装docker-compose,依次执行如下命令

  • sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    
  • sudo chmod +x /usr/local/bin/docker-compose
    

  4、安装sonar(本文使用版本为8.2,sonar定期对docker镜像文件进行更新,如需获取更多版本访问sonar镜像)

  安装前需启动docker服务

systemctl daemon-reloadsystemctl restart docker.service

  常用命令集合

启动 docker
systemctl start docker拉取 postgres 镜像
docker pull postgres拉取 sonarqube 镜像
docker pull sonarqube查看下载的镜像
docker images  

  然后使用命令docker-compose -f docker-compose.yml up

常用命令集合

构建并后台启动容器 docker-compose up -d查看运行容器 docker-compose ps 或 docker ps动态查看日志 docker-compose logs -f 或 docker logs -f sonar重启 docker-compose restart

  docker-compose.yml文件存放在服务器执行命令当前目录,该文件内容如下

version: "2"services:sonarqube:image: sonarqube:8.2-communitydepends_on:- dbports:- "9000:9000"networks:- sonarnetenvironment:SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonarSONAR_JDBC_USERNAME: sonarSONAR_JDBC_PASSWORD: sonarvolumes:- sonarqube_data:/opt/sonarqube/data- sonarqube_extensions:/opt/sonarqube/extensions- sonarqube_logs:/opt/sonarqube/logs- sonarqube_temp:/opt/sonarqube/tempdb:image: postgresnetworks:- sonarnetenvironment:POSTGRES_USER: sonarPOSTGRES_PASSWORD: sonarvolumes:- postgresql:/var/lib/postgresql# This needs explicit mapping due to https://github.com/docker-library/postgres/blob/4e48e3228a30763913ece952c611e5e9b95c8759/Dockerfile.template#L52- postgresql_data:/var/lib/postgresql/datanetworks:sonarnet:driver: bridgevolumes:sonarqube_data:sonarqube_extensions:sonarqube_logs:sonarqube_temp:postgresql:postgresql_data:

  5、访问sonar及使用maven进行检查

    登录使用http://x.x.x.x:9000/
    用户名/密码:admin/admin

  maven检查可配置settings.xml文件,配置内容如下 

    <profile><id>sonar</id><activation><activeByDefault>true</activeByDefault></activation><properties><sonar.login>admin</sonar.login><sonar.password>admin</sonar.password><sonar.host.url>http://x.x.x.x:9000</sonar.host.url><sonar.inclusions>**/*.java</sonar.inclusions></properties>   </profile> <activeProfiles><activeProfile>sonar</activeProfile></activeProfiles>

  cmd到需要扫描工程目录下,首先需要所扫描工程通过maven编译,然后执行sonar扫描,依次执行如下命令

  • mvn clean install 
    // BUILD SUCCESS之后执行下条命令
  • mvn sonar:sonar
    // BUILD SUCCESS之后,浏览器访问sonar服务,扫描结果可能需要后台分析一会才会呈现出来。

  6、部分报错问题解决

  在安装及启动sonar服务的过程中,使用命令docker-compose -f docker-compose.yml up可查看后台打印信息,报错信息截取片段中存在如max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

 临时解决方案

#当前为root用户可以使用命令解决
sysctl -w vm.max_map_count=262144
#如果不是root用户应该使用
sudo sysctl -w vm.max_map_count=262144

 终极解决方案

vim /etc/sysctl.conf
#添加配置
vm.max_map_count=262144
#使用命令使该设置生效
sysctl -p

  7、卸载docker

  1、查询docker安装过的包:

yum list installed | grep docker

       

  2、删除安装包:

yum remove docker-ce.x86_64 ddocker-ce-cli.x86_64 -y

  3、删除镜像/容器等

rm -rf /var/lib/docker

到此,docker安装sonar及maven扫描java代码就完成了,希望能对你有所帮助,感谢看官阅读,觉得有帮助留个赞哦。

这篇关于卸载docker及其镜像方法+docker搭建代码质量检测平台sonarqube+maven方式扫描java代码...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128153

相关文章

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W