卸载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

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消