美文网首页
docker 方式安装SonarQube:lts和中文插件

docker 方式安装SonarQube:lts和中文插件

作者: leileitang_blog | 来源:发表于2020-04-14 18:05 被阅读0次

    title: docker 方式安装SonarQube:lts和中文插件
    meta:

    • name: description
      content: SonarQube docker
    • name: keywords
      content: SonarQube docker
      created: 2020/04/14
      updated: 2020/04/14
      tags:
    • SonarQube

    1、获取 postgresql 的镜像

    docker pull postgres

    2、启动 postgresql

    mkdir -p /data/postgresql/data
    mkdir -p /var/lib/postgresql
    ln -s /data/postgresql/data/ /var/lib/postgresql/data
    docker run --name postgresqlDB -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -v /data/postgresql/data:/var/lib/postgresql/data -d postgres
    

    3、获取 sonarqube 的镜像

    docker pull sonarqube:lts

    4、启动 sonarqube

    mkdir -p /data/sonarqube/data
    mkdir -p /data/sonarqube/extensions
    chmod -R 777 /data/sonarqube/
    chmod -R 777 /opt/sonarqube/
    ln -s /data/sonarqube /opt/sonarqube
    mkdir -p /opt/sonarqube/extensions/plugins
    docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresqlDB:5432/sonar -p 9000:9000 -d -v /data/sonarqube/data:/opt/sonarqube/data -v /data/sonarqube/extensions:/opt/sonarqube/extensions sonarqube
    

    5、代码质量检验sonar平台

    1.打开 http://localhost:9000/ , 点击 "Log in"

    登录账号:admin 密码:admin


    sonarqube01.jpg

    6、初始状态确认

    检查sonar 缺省的Java等语言的Sonar Way是否存在,详细如下图所示


    sonarqube02.jpg

    关键是quality profile页面中,缺少quality profile。


    sonarqube03.jpg

    安装语言插件
    由于本文是使用typescript的Angular应用,安装SonarTS和SonarJS即可。而SonarJS安装时也会顺便带上SonarTS,所以只需要安装SonarJS即可。


    sonarqube04.jpg

    安装完毕之后,可以看到SonarTS也已经被安装了。


    sonarqube05.jpg

    另外同时安装一下Java语言的插件


    sonarqube06.jpg

    使用界面方式安装,SonarQube也是将此jar文件放至extensions目录下,具体来说分如下步骤:
    步骤1: 下载开始后,jar文件会保存在downloads目录下,jar文件在下载中的状态:会形成sonar-*.jar.tmp文件。
    步骤2: 下载完毕之后,会自动将downloads目录下的.tmp后缀删除
    本文示例的SonarTS、SonarJS和SonarJava的安装,实际上对应了三个文件,直接以jar文件结尾的表明已经下载完毕,否则还会带有.tmp后缀。下载的中间状态如下所示

    liumiaocn:extensions liumiao$ tree .
    .
    ├── downloads
    │ ├── sonar-java-plugin-5.14.0.18788.jar.tmp
    │ ├── sonar-javascript-plugin-6.1.0.11503.jar.tmp
    │ └── sonar-typescript-plugin-2.1.0.4359.jar
    └── plugins

    2 directories, 3 files
    liumiaocn:extensions liumiao$

    如果下载时速度不好的情况下,此时会显示非常之慢,查看日志又往往没有任何提示,此时可以通过查看一下中间文件的大小来进行确认是否仍在正常执行

    此时再确认SonarQube的页面,就会发现已经成功了


    sonarqube07.jpg

    点击Restart Server进行重启, 以管理员身份登录,可以确认到quality profile已经添加了三种语言的Sonar way规则。实际本文示例只是用到一种。


    sonarqube08.jpg

    7、安装中文插件

    进入github: https://github.com/SonarQubeCommunity/sonar-l10n-zh

    sonarqube09.jpg

    查看兼容的列表
    SonarQube7.9 对应的是sonar-l10n-zh 1.29
    进入https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases 下载1.29 的版本
    然后将sonar-l10n-zh-plugin-1.29.jar 上传到/opt/sonarqube/extensions/plugins 目录下。重启后,中文插件就可以生效了。

    8、以 Maven 项目为例,

    Maven 项目

    pom.xml 添加配置:

        <!-- 代码质量检测 -->
        <profiles>
            <profile>
                <id>sonar</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <properties>
                    <sonar.host.url>http://127.0.0.1:9000/</sonar.host.url>
                </properties>
            </profile>
        </profiles>
    

    8.1执行命令,检测代码质量

    $ mvn sonar:sonar
    

    8.2 成功之后,返回到浏览器,就可以浏览自己的项目的代码质量了

    sonarqube10.jpg sonarqube11.jpg sonarqube12.jpg

    目前码云上代码分析工具首推的也是 sonarqube,支持各种语言的程序检测,使用简单方便,感觉非常适合微服务的代码评审,强烈推荐。

    9、idea配置sonar步骤如下:

    9.1 安装sonar插件,如果安装失败就多安装几次,博主就是安装了两次,第一次安装失败了,第二次才安装成功的。

    安装成功后重启idea


    sonarqube13.jpg

    9.2 添加sonar服务器连接

    sonarqube14.jpg sonarqube15.jpg sonarqube16.jpg sonarqube17.jpg

    9.3 选择项目对应的规则

    sonarqube18.jpg

    点击OK之后则配置完成

    9.4 idea下方会出现SonarLint选项

    mvn sonar:sonar
    -Dsonar.projectKey=project
    -Dsonar.host.url=http://ip:9000
    -Dsonar.login=6c0344dbbf9aa168c6f9b2dde3371108dcba9269

    sonarqube19.jpg

    9.5 打开一个文件点击运行按钮,则最该代码进行扫描,会自动显示扫描的问题,双击问题则会定位到相应的代码。

    sonarqube20.jpg

    10、安装错误记录

    • 错误描述:
      ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]


      sonarqube21.jpg
    • 解决办法:

    vi /etc/sysctl.conf 
    vm.max_map_count=655360
    sysctl -p
    

    相关文章

      网友评论

          本文标题:docker 方式安装SonarQube:lts和中文插件

          本文链接:https://www.haomeiwen.com/subject/dcotvhtx.html