• Sonarqube C#静态代码规范检查(一)


    使用说明

    代码规范对于每个开发来说重要也重要,说不重要其实也没那么重要,简单点的vs的code analysis也能提供很多的建议,重量级一点的Resharper不仅能提供建议,还提供了更方便快捷的一键重构工具,当我需要一个可以和Gitlab集成并且能自动化分析各个项目代码质量的时候,以上工具可能只侧重在编码阶段给开发人员及时的提醒,并不能满足我的需要,所以就找到了Soanrqube的这个工具。

    以下介绍docker环境下的安装使用(部分翻译自官方文档)

    1.从官方下载镜像

    Docker官方镜像说明地址:https://hub.docker.com/_/sonarqube/

    以下拉取最新的8.0的社区版本的镜像

    docker pull sonarqube:8-community-beta

    你也可以下载默认最新的稳定版本的镜像

    docker pull sonarqube

    2.快速开始使用

    以下蒋向您展示如何快速运行演示实例,当你准备安装一个更稳定的版本时,请花一点时间阅读配置部分。

    docker run -d --name sonarqube -p 9000:9000 sonarqube

    默认的登陆账号是admin,密码也是admin

    浏览器打开:http://localhost:9000 等待自动配置完成就可以登陆了。

    3.分析C#代码

    分析之前需要安装sonarscanner

    dotnet tool install --global dotnet-sonarscanner

    平台里创建新项目

     创建一个token,用于上传代码分析报告

     拷贝生成的token备用

     创建一个.net core的项目,这里我创建了一个web api的项目,新建sonar.bat脚本文件

     sonar.bat脚本文件内容如下:

    dotnet sonarscanner begin /k:"WebTest" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="40aa03b189beb63784574556e6e0c6c632668cf9"
    dotnet build
    dotnet sonarscanner end /d:sonar.login="40aa03b189beb63784574556e6e0c6c632668cf9"

    这里几个重要的参数

    红色部分:/k为平台创建项目时的项目命名

    黄色部分:为创建项目时的token

    4.为sonarqube配置postgresql数据库

    // 获取镜像
    docker pull postgresql
    // 启动postgresql容器 docker run
    --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -p 5431:5432 postgres
    // 启动sonarqube docker run
    --name sonar8 --link db -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -p 9001:9000 sonarqube:8-community-beta

    5.docker-compose直接运行实例 

    docker-compose.yml 文件内容

    version: "2"
    
    services:
      sonarqube:
        image: sonar8
        ports:
          - "9000:9000"
        networks:
          - sonarnet
        environment:
          - sonar.jdbc.url=jdbc:postgresql://db:5432/sonar
        volumes:
          - sonarqube_conf:/opt/sonarqube/conf
          - sonarqube_data:/opt/sonarqube/data
          - sonarqube_extensions:/opt/sonarqube/extensions
    
      db:
        image: postgres
        networks:
          - sonarnet
        environment:
          - POSTGRES_USER=sonar
          - POSTGRES_PASSWORD=sonar
        volumes:
          - postgresql:/var/lib/postgresql
          - postgresql_data:/var/lib/postgresql/data
    
    networks:
      sonarnet:
        driver: bridge
    
    volumes:
      sonarqube_conf:
      sonarqube_data:
      sonarqube_extensions:
      postgresql:
      postgresql_data:

     执行运行命令

    docker-compose up -d
  • 相关阅读:
    委托 你怎么看?
    读懂IL代码就这么简单(二)
    读懂IL代码就这么简单 (一)
    C#操作XML方法集合
    文件夹管理工具(MVC+zTree+layer)(附源码)
    操作文件方法简单总结(File,Directory,StreamReader,StreamWrite )
    让你彻底理解 “==”与 Equals
    处理 EF 并发其实就这么简单
    CentOs7.5安装PostgreSQL11
    SQLAlchemy+Flask-RESTful使用(四)
  • 原文地址:https://www.cnblogs.com/stealth7/p/11758151.html
Copyright © 2020-2023  润新知