web-dev-qa-db-ja.com

SonarCloudの構成方法

Javaプロジェクトがあり、それをSonarCloudと統合したいのですが、公式の手順に従います。

SonarQubeスキャナーでコードを検査する#

コードを検査する前に、次のことを行う必要があります。

  1. SonarCloudでアカウントのユーザー認証トークンを作成します。
  2. このトークンtravisを暗号化するabcdef0123456789を暗号化するか、リポジトリ設定でSONAR_TOKENを定義します
  3. プロジェクトをプッシュしてそのキーを取得するSonarCloud.io組織を見つけます
  4. プロジェクトのsonar-project.propertiesファイルを作成します(ドキュメントを参照)。次に、次の行を.travis.ymlファイルに追加して、分析をトリガーします。

travis.ymlファイルに追加

 addons:
  sonarcloud:
    organization: "xelian-github"
    token:
      secure: ${SONAR_TOKEN}
    branches:
      - master
script:
  # other script steps might be done before running the actual analysis
  - sonar-scanner

SONAR_TOKENは、SonarCloudからのキーを指すTravis CIの変数です(暗号化されていません)。 enter image description here SonarCloudから権限を追加 enter image description here

しかし、travisビルドを開始すると、次のエラーが発生します。

Setting environment variables from repository settings
$ export SONAR_TOKEN=[secure]

 ....
ERROR: Error during SonarQube Scanner execution
ERROR: You're only authorized to execute a local (preview) SonarQube analysis without pushing the results to the SonarQube server. Please contact your SonarQube administrator.
ERROR: 
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.

トラビスにはSonarCloudに結果をアップロードする権限がないようです。トークンまたは一部のソナー構成に問題があります。

7
Xelian

SonarCloudでプロジェクトを構成するための公式のエントリポイントは "Get Started" page です。

  • Mavenプロジェクトの場合、sonar-project.propertiesファイルを作成する必要がないことがわかります

  • SonarCloudで分析される サンプルMavenプロジェクト へのリンクもあります

最後に私は解決策を見つけます。ルートパスには、ymlファイルを追加する必要があります。

sonar-project.properties

# Required metadata
sonar.projectKey=Java-sonar-runner-simple:master
sonar.projectName=Rss-service
sonar.projectVersion=1.0

# Comma-separated paths to directories with sources (required)
sonar.sources=/microservice-application/rss-reader-service/src/main/Java
sonar.Java.binaries=/microservice-application/rss-reader-service/target/classes

# Language
sonar.language=Java

# Encoding of the source files
sonar.sourceEncoding=UTF-8

そしてtravis.ymlに追加します:スクリプト:

  # other script steps might be done before running the actual analysis
  - mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install sonar:sonar

編集

sonar-project.propertiesは不要です。 Mavenの目標のみが意味をなします。

0
Xelian