当前位置: 首页 > news >正文

最简单的做网站的软件公司网站建设关键字描述

最简单的做网站的软件,公司网站建设关键字描述,wordpress 统计ip,wordpress手机认证登录在将孢子记账系统从单体架构转向微服务架构的过程中,代码质量的管理变得尤为重要。随着项目规模的扩大和团队协作的深入,我们需要一个强大的工具来帮助我们持续监控和改进代码质量。我们首选SonarQube,它能够帮助我们识别代码中的潜在问题、技…

在将孢子记账系统从单体架构转向微服务架构的过程中,代码质量的管理变得尤为重要。随着项目规模的扩大和团队协作的深入,我们需要一个强大的工具来帮助我们持续监控和改进代码质量。我们首选SonarQube,它能够帮助我们识别代码中的潜在问题、技术债务和安全隐患,从而确保我们的微服务架构更加健壮和可维护。

一、为什么选择SonarQube

SonarQube是一个开源的代码质量管理平台,它具有如下六大核心功能:

  1. 持续检查代码质量
  2. 提供详细的代码分析报告
  3. 识别潜在的bug和安全漏洞
  4. 帮助团队遵循编码规范和最佳实践
  5. 跟踪技术债务
  6. 支持多种编程语言,包括C#、Java、JavaScript等

在微服务架构中,每个服务都是独立部署和运行的,因此确保每个服务的代码质量都达到高标准变得尤为重要。SonarQube可以帮助我们实现这一目标。

二、安装与配置

2.1 安装

SonarQube的安装方式有多种,包括Docker容器、Windows安装包和Linux安装包。考虑到我们的开发环境,我们选择使用Docker进行安装,这样可以避免环境依赖问题,并且便于管理和升级。

首先,我们需要确保已经安装了Docker和Docker Compose。然后,我们可以使用以下步骤安装SonarQube:

  1. 创建一个新的目录用于SonarQube:
    mkdir sonarqube
    cd sonarqube
    
  2. 创建docker-compose.yml文件:
    version: "3"
    services:sonarqube:image: sonarqube:latestports:- "8966:9000"environment:- SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonar- SONAR_JDBC_USERNAME=sonar- SONAR_JDBC_PASSWORD=sonarvolumes:- sonarqube_data:/opt/sonarqube/data- sonarqube_extensions:/opt/sonarqube/extensions- sonarqube_logs:/opt/sonarqube/logsdepends_on:- dbdb:image: postgres:12environment:- POSTGRES_USER=sonar- POSTGRES_PASSWORD=sonar- POSTGRES_DB=sonarvolumes:- postgresql:/var/lib/postgresql- postgresql_data:/var/lib/postgresql/datavolumes:sonarqube_data:sonarqube_extensions:sonarqube_logs:postgresql:postgresql_data:
    
  3. 启动SonarQube:
    docker-compose up -d
    

等待几分钟,直到SonarQube完全启动,然后访问 http://YOUR_IP:8966,然后使用默认的管理员账户登录(用户名:admin,密码:admin),登录后系统会要求更改密码。

2.2 配置

安装完成后,我们需要进行一些基本配置:

  1. 创建项目令牌:

    • 登录SonarQube后,点击右上角的用户图标,选择"My Account"
      在这里插入图片描述

    • 在左侧菜单中选择"Security"
      在这里插入图片描述

    • 生成一个新的令牌,并保存好,这个令牌将用于项目分析
      在这里插入图片描述

    Tip:生成新令牌后,不要刷新页面,先把生成的令牌保存起来。这时因为令牌只显示一次,刷新或关闭页面再次打开页面就不会显示令牌了。

  2. 配置质量门禁:

    • 在SonarQube中,点击"Quality Gates"菜单
    • 创建一个新的Quality Gate,设置以下条件:
      • 代码覆盖率 > 80%
      • 重复代码 < 3%
      • 技术债务比率 < 5%
      • 严重问题 = 0
      • 阻断问题 = 0

在这里插入图片描述

>Tip:在最新版的SonarQube中,"严重问题"被拆分为可高、中、低三个级别,因此这里我们需要都设置为0

三、与.NET项目的集成

3.1 安装SonarScanner

要与.NET 8项目集成,我们需要安装dotnet-sonarscanner工具。以下是详细的安装和配置步骤:

  1. 安装dotnet-sonarscanner

    dotnet tool install --global dotnet-sonarscanner
    
  2. 验证安装

    dotnet sonarscanner --version
    
3.2 配置项目分析
  1. 在项目根目录创建sonar-project.properties文件:

    sonar.projectKey=SporeAccounting
    sonar.projectName=孢子记账系统
    sonar.projectVersion=1.0
    sonar.sources=.
    sonar.cs.vstest.reportsPaths=**/*.trx
    sonar.cs.opencover.reportsPaths=**/coverage.opencover.xml
    
  2. 在GitHub Actions CI/CD流程中添加SonarQube分析步骤:
    在GitHub仓库中,我们可以使用GitHub Actions来自动化SonarQube分析流程。以下是配置步骤:

    • 在仓库中创建.github/workflows目录
    • 创建sonarqube.yml文件,内容如下:
      name: SonarQube Analysison:push:branches: [ main, Microservices, MonomerApplication ]pull_request:branches: [ main, Microservices, MonomerApplication ]jobs:sonarqube:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v3with:fetch-depth: 0  # 获取完整历史记录以进行增量分析- name: Set up .NETuses: actions/setup-dotnet@v3with:dotnet-version: '8.0.x'- name: Install dependenciesrun: dotnet restore- name: Buildrun: dotnet build --no-restore- name: Testrun: dotnet test --no-build --verbosity normal --collect:"XPlat Code Coverage" --results-directory ./coverage- name: SonarQube Scanuses: SonarSource/sonarqube-scan-action@masterenv:SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}with:args: >-Dsonar.projectKey=SporeAccounting-Dsonar.projectName=孢子记账系统-Dsonar.projectVersion=1.0-Dsonar.cs.opencover.reportsPaths=./coverage/**/coverage.opencover.xml-Dsonar.cs.vstest.reportsPaths=./coverage/**/*.trx
      
  3. 在GitHub仓库中配置Secrets:

    • 进入仓库的Settings > Secrets and variables > Actions
    • 添加以下secrets:
      • SONAR_TOKEN: SonarQube生成的令牌
      • SONAR_HOST_URL: SonarQube服务器URL,例如http://your-sonarqube-server:8966
  4. 提交并推送这些更改到GitHub仓库
    现在,每次推送到main、Microservices、MonomerApplication分支,或者创建针对这些分支的Pull Request时,GitHub Actions都会自动运行SonarQube分析。

3.3 本地开发环境集成

在本地开发环境中,我们可以使用以下命令进行代码分析:

# 开始分析
dotnet sonarscanner begin /k:"SporeAccounting" /d:sonar.host.url="http://YOUR_IP:8966" /d:sonar.login="YOUR_TOKEN"# 构建项目
dotnet build# 运行测试
dotnet test# 结束分析并上传结果
dotnet sonarscanner end /d:sonar.login="YOUR_TOKEN"
3.4 配置代码覆盖率收集

为了获得准确的代码覆盖率报告,我们需要配置OpenCover:

  1. 安装OpenCover NuGet包:
dotnet tool install --global dotnet-opencover
  1. 使用OpenCover运行测试并生成覆盖率报告:
dotnet-opencover -target:"dotnet" -targetargs:"test" -output:"coverage.opencover.xml" -filter:"+[SporeAccounting*]* -[*.Tests]*"
  1. 在SonarQube中配置覆盖率报告路径:
sonar.cs.opencover.reportsPaths=coverage.opencover.xml

四、总结

在将孢子记账系统从单体架构转向微服务架构的过程中,SonarQube的引入为我们提供了一个强大的代码质量管理解决方案。通过本文的详细指导,我们完成了以下关键任务:环境搭建、工具集成、自动化流程、佳实践。通过这些步骤,我们为孢子记账系统的微服务架构建立了一个完整的代码质量管理体系。这不仅有助于提高代码质量,还能帮助团队更好地协作,确保系统的长期可维护性和稳定性。在微服务架构中,每个服务都是独立部署和运行的,因此确保每个服务的代码质量都达到高标准变得尤为重要。SonarQube正是帮助我们实现这一目标的关键工具。

后续我们可以进一步优化SonarQube的配置,根据项目的实际需求调整质量门禁规则,并持续改进代码质量管理的流程。这将确保我们的微服务架构始终保持高质量、可维护和可扩展的状态。

http://www.dtcms.com/a/433005.html

相关文章:

  • 长春火车站附近有什么好玩的地方网页设计入门基础教程
  • 网站的内容网络营销顾问是什么
  • 百度商桥怎么绑定网站平台推广方式
  • 威海市建设局官方网站江苏seo推广网站建设
  • 网站建设 别墅如何制作个人网页最简单的方法
  • 背景全屏网站fevr wordpress
  • 手机建站最好的网站芜湖市建设办网站
  • MAC系统安装python及anaconda相关问题记录
  • 儿童网站html模板wordpress 淘宝客模板
  • 广州网站设计成功柚米科技无锡网站制作公司哪家好
  • 网站建设季度考核评价工作总结中国石油大学网站建设
  • 东莞网站推广培训下载应用商店app并安装到手机上
  • 营销型网站推广方式的论文手机网站单页怎么做
  • 自己站网站公司名称可以和网站域名不同吗
  • python可以做网站开发吗百度做广告费用
  • 培训网站设计师公司做网站 需要解决哪些问题
  • OSPF 2-Way 状态 概念及题目
  • 宁波网站建设推广公司武安城乡建设网站
  • 网站背景磨砂灰背景怎么做深圳 网站建设设计
  • 客户制作网站时的问题河南app开发公司
  • 网站设计深圳市计算机好还是软件工程好
  • 如何做网站进行推广c2c模式的概念
  • 番禺网站设计站长素材网站
  • 网站数据库怎么备份新建的网站可以百度推广
  • 永兴集团网站简洁大气网站设计
  • 网站流量少的原因wordpress高仿主题下载
  • 村建站属于哪个部门沂源网站建设yx718
  • Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
  • 唯品会网站开发技术分析计算机专业学什么好
  • 三亚市城乡建设局网站国内网页设计师个人网站