Github Actions 为测试结果添加质量关

问题描述 投票:0回答:1

Net core 和 github 操作。我在 Github actions 中运行了管道,并且集成了 Sonarqube。我的要求是,如果代码覆盖率小于 70 或任何指定的数字,那么我们不应允许继续构建过程。构建应该到此为止。所以我当前的代码是

SonarQube_API:
    runs-on: windows-latest
    permissions:
      contents: read
      packages: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
        
      - name: Set up Java for Sonar
        uses: actions/setup-java@v3
        with:
          distribution: 'temurin'
          java-version: '17'
          
      - name: Get SonarQube
        shell: pwsh
        run: dotnet tool install --global dotnet-sonarscanner

      - name: Get Coverlet.MSBuild
        shell: pwsh
        run: dotnet add package coverlet.msbuild
        working-directory: '.\JK.Test' 

      - name: .NET sonarscanner begin
        shell: pwsh
        run: |
          dotnet sonarscanner begin `
          /k:"JK-Api" `
          /d:sonar.host.url="${{ secrets.MDN_SONARQUBE_HOST }}" `
          /d:sonar.login="${{ secrets.MDN_SONARQUBE_TOKEN }}" `
          /d:sonar.cs.opencover.reportsPaths=".\JK.Test\coverage.opencover.xml" `
          /v:"1.0"
          
        
      - name: build
        shell: pwsh
        run: |
          dotnet restore JK.Test/JK.Test.csproj
          dotnet build JK.Test/JK.Test.csproj --configuration '${{ env.BUILD_CONFIG }}' --no-restore

      - name: dotnet test
        shell: pwsh
        run: |
          dotnet test ".\JK.Test\JK.Test.csproj" `
            --configuration Release `
            --results-directory "${{ github.workspace }}\TestResults" `
            /p:CollectCoverage=true `
        env:
          CollectCoverage: true
          CoverletOutputFormat: opencover

      - name: .NET sonarscanner end
        shell: pwsh
        run: dotnet sonarscanner end /d:sonar.login="${{ secrets.MDN_SONARQUBE_TOKEN }}"

我无法获得满足我的要求的任何信息。我的要求是,如果代码覆盖率低于 70%,那么我希望构建失败,或者进程应该在此处终止。有人可以帮我解决这个问题吗?任何帮助,将不胜感激。谢谢你

asp.net-core sonarqube github-actions test-coverage quality-gate
1个回答
0
投票

质量门值在项目的 SonarQube UI 上配置。

sonarqube-quality-gate-action发送报告并等待平台的反馈以判断管道是否失败。 参考

在SonarQube平台上,如果您有权访问项目页面和项目配置,您应该能够通过以下类型的设置选项来管理质量门:

参考

请注意,您还需要在项目中创建一个

sonar-project.properties
文件。 参考

如果同一个存储库中有多个项目,您可以添加不同的

sonar-project.properties
文件,每个项目一个(最好每个项目模块包中一个)。

© www.soinside.com 2019 - 2024. All rights reserved.