SonarQube с Трэвисом не показывает проблемы в проекте Dot Net Core 2 - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть простой проект dotnet core 2.0 с простой проблемой, которая завершается с ошибкой SonarLint из-за неиспользованной переменной.

enter image description here

Код хранится в общедоступном репозитории github ( здесь ).Задание travis ( здесь ) запускается, имеет плагин SonarQube и должно публиковать сообщения в SonarCloud ( здесь ).

У меня проблема в том, что эта проблема не решаетсяподобраны по результатам анализа и опубликованы в виде номера.У меня явно что-то настроено неправильно, но я не знаю что.

Мой .travis.yml ниже

language: csharp
dist: xenial
sudo: required
mono: none
dotnet: 2.0.0
solution: Dibware.Salon.sln
addons:
  sonarcloud:
    organization: "dibley1973-github" # the key of the org you chose at step #3
    token:
      secure: $SONAR_TOKEN
branches:
  only:
    - master
before_script:
  - chmod +x build.sh
  - chmod +x run-tests.sh
script:
  - ./build.sh
  - ./run-tests.sh
  - sonar-scanner

Мой файл sonar-project.properties ниже

# Project identification
sonar.projectKey=Core:Dibware.Salon
sonar.projectVersion=1.0.0.0
sonar.projectName=Dibware.Salon

# Info required for SonarQube
sonar.sources=./Domain
sonar.language=cs
sonar.sourceEncoding=UTF-8

C# Settings
sonar.dotnet.visualstudio.solution=Dibware.Salon.sln

# MSBuild
sonar.dotnet.buildConfiguration=Release
sonar.dotnet.buildPlatform=Any CPU

# StyleCop 
sonar.stylecop.mode=

# SCM
sonar.scm.enabled=false

В журнале travis у меня есть:

INFO: 27 files to be analyzed
WARN: Shallow clone detected, no blame information will be provided. You can convert to non-shallow with 'git fetch --unshallow'.
INFO: 0/27 files analyzed
WARN: Missing blame information for the following files:
WARN:   *
.
<lots of files>
.
WARN: This may lead to missing/broken features in SonarQube
INFO: Calculating CPD for 0 files
INFO: CPD calculation finished
INFO: Analysis report generated in 216ms, dir size=381 KB
INFO: Analysis report compressed in 56ms, zip size=89 KB
INFO: Analysis report uploaded in 340ms
INFO: ANALYSIS SUCCESSFUL, you can browse https://sonarcloud.io/dashboard?id=Core%3ADibware.Salon
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at https://sonarcloud.io/api/ce/task?id=AWo0YQeAUanQDuOXxh79
INFO: Analysis total time: 11.484 s

Это то, что влияет на анализ?Если так, как я могу решить это?Если не то, что еще останавливает анализ файлов, пожалуйста?

РЕДАКТИРОВАТЬ: Я вижу следующее в журнале, но он все еще не обнаружен SoanrQube ..

Chair.cs(17,17): warning CS0219: The variable 'a' is assigned but its value is never used 

Редактировать 2: Мне удалось увеличить анализируемое число, см. Ниже ...

INFO: Sensor Zero Coverage Sensor
INFO: Sensor Zero Coverage Sensor (done) | time=6ms
INFO: SCM provider for this project is: git
INFO: 27 files to be analyzed
INFO: 27/27 files analyzed
INFO: Calculating CPD for 0 files

... используя следующее в моем.travis.yml

install:
  - git fetch --unshallow --tags

Это пришло отсюда: https://stackoverflow.com/a/47441734/254215

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

В конце концов, файл travis.yml, который я использовал, сработал так:

language: csharp
dist: xenial
sudo: required
mono: none
dotnet: 2.1.300

solution: Dibware.Salon.sln

addons:
  sonarcloud:
    organization: "dibley1973-github" # the key of the org you chose at step #3
    token:
      secure: $SONAR_TOKEN

branches:
  only:
    - master

install:
  - dotnet tool install --global dotnet-sonarscanner
  - git fetch --unshallow --tags

before_script:
  - export PATH="$PATH:$HOME/.dotnet/tools"
  - chmod +x build.sh
  - chmod +x run-tests.sh

script:
  - dotnet sonarscanner begin /k:"Core:Dibware.Salon" /d:sonar.login="$SONAR_TOKEN" /d:sonar.cs.opencover.reportsPaths="**/coverage.opencover.xml" /d:sonar.exclusions="**/bin/**/*,**/obj/**/*,**/Dibware.Salon.Web/**/*" || true
  - ./build.sh
  - ./run-tests.sh
  - dotnet sonarscanner end /d:sonar.login="$SONAR_TOKEN" || true

Файл сборки такой.

#!/usr/bin/env bash
dotnet restore
dotnet clean -c Release
dotnet build Dibware.Salon.sln -c Release

Тест такой.

# Run the tests and collate code coverage results
dotnet test -c Release --no-build --no-restore Domain/SharedKernel/Dibware.Salon.Domain.SharedKernel.UnitTests/Dibware.Salon.Domain.SharedKernel.UnitTests.csproj /p:CollectCoverage=true /p:CoverletOutputFormat=opencover

Я не использовал sonar-project.properties файл.

HTH кто-то, один день

0 голосов
/ 21 апреля 2019

Хорошо, я еще не вышел из леса, но получаю некоторый анализ с использованием следующего .travis.yml

language: csharp
dist: xenial
sudo: required
mono: none
dotnet: 2.1.300

solution: Dibware.Salon.sln

addons:
  sonarcloud:
    organization: "dibley1973-github" # the key of the org you chose at step #3
    token:
      secure: $SONAR_TOKEN

branches:
  only:
    - master

install:
  - dotnet tool install --global dotnet-sonarscanner
  - git fetch --unshallow --tags

before_script:
  - export PATH="$PATH:$HOME/.dotnet/tools"
  - chmod +x build.sh
  - chmod +x run-tests.sh

script:
  - dotnet sonarscanner begin /k:"Core:Dibware.Salon" /d:sonar.login="$SONAR_TOKEN" /d:sonar.exclusions="**/bin/**/*,**/obj/**/*" /d:sonar.cs.opencover.reportsPaths="lcov.opencover.xml" || true
  - ./build.sh
  - ./run-tests.sh
  - dotnet sonarscanner end /d:sonar.login="$SONAR_TOKEN" || true
...