Files
VectorDBDemo/.gitea/workflows/sonar-scan.yml
T
ShaoHua c95500c413
SonarQube Code Quality Scan / scan (push) Has been cancelled
trigger sonar scan
2025-12-02 04:11:35 +08:00

55 lines
3.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: SonarQube Code Quality Scan
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
scan:
runs-on: windows,x64 # 与Runner标签一致(或写x64
steps:
# 步骤1:拉取仓库代码(完整历史)
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
# 步骤2:配置 Sonar Scanner 路径(必做,替换为你的实际路径)
- name: Add Sonar Scanner to PATH
run: |
$scannerPath = "D:\Paths\sonar-scanner-cli\bin" # 替换为你的 Scanner bin 目录
echo "$scannerPath" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8
# 步骤3:安装 .NET SDK(C# 项目编译依赖,根据你的项目版本调整)
- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: 6.0.x # 替换为你的项目对应的 .NET 版本(如 3.1.x、5.0.x、7.0.x
# 步骤4:编译 C# 项目(生成 SonarQube 所需的二进制文件和覆盖率报告)
- name: Build .NET Project
run: |
dotnet restore # 还原依赖包
dotnet build --configuration Release # 编译项目(Release 模式,确保生成完整二进制文件)
# 步骤5:执行 SonarQube 扫描(C# 专属配置)
- name: Run SonarQube Scan
run: |
sonar-scanner `
-Dsonar.projectKey=sqp_4bae541a7a6ccfd4ebae43150ce5b8b5c1c34c50 ` # 你的 SonarQube 项目密钥
-Dsonar.sources=./ ` # 代码根目录(C# 项目通常无需修改)
-Dsonar.host.url=http://127.0.0.1:9000 ` # SonarQube 地址(非本地需改局域网 IP)
-Dsonar.login=${{ secrets.SONAR_TOKEN }} ` # 引用 Gitea Secrets 令牌
-Dsonar.language=csharp ` # 强制指定语言为 C#(避免自动识别错误)
-Dsonar.dotnet.build.directory=./**/bin/Release ` # 指定 .NET 编译输出目录(匹配步骤4的 Release 模式)
-Dsonar.exclusions=**/obj/**,**/bin/Debug/** ` # 排除无需扫描的目录(编译临时文件、Debug 目录)
-Dsonar.coverage.exclusions=**/Test/**,**/*.Tests.cs # 排除测试代码目录(按需调整)
sonar-scanner `
-Dsonar.projectKey=sqp_4bae541a7a6ccfd4ebae43150ce5b8b5c1c34c50 ` # 你的 SonarQube 项目密钥
-Dsonar.sources=./ ` # 代码根目录(C# 项目通常无需修改)
-Dsonar.host.url=http://127.0.0.1:9000 ` # SonarQube 地址(非本地需改局域网 IP)
-Dsonar.login=${{ secrets.SONAR_TOKEN }} ` # 引用 Gitea Secrets 令牌
-Dsonar.language=csharp ` # 强制指定语言为 C#(避免自动识别错误)
-Dsonar.dotnet.build.directory=./**/bin/Release ` # 指定 .NET 编译输出目录(匹配步骤4的 Release 模式)
-Dsonar.exclusions=**/obj/**,**/bin/Debug/** ` # 排除无需扫描的目录(编译临时文件、Debug 目录)
-Dsonar.coverage.exclusions=**/Test/**,**/*.Tests.cs # 排除测试代码目录(按需调整)