web-dev-qa-db-ja.com

Sonarqubeの承認-sonar.forceAuthenticationが有効な場合にsonar-maven-pluginで承認する方法

私はデフォルトの設定でsonarqube 6.5を持っています。 sonar.forceAuthenticationフラグがfalseに設定されている場合、以下のコマンドを使用してプロジェクトを作成および分析できます。

_mvn sonar:sonar -Dsonar.Host.url=https://mySonarHost/sonar -Dsonar.login=mySonarUserKey_

Sonar.forceAuthenticationパラメータを有効にすると(sonar.forceAuthentication = true)、プロジェクトを分析できません。私はいつもmavenエラーが出ます:

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project storm: Not authorized. Please check the properties sonar.login and sonar.password. -> [Help 1]

デフォルトの管理者アカウントでも作成されたユーザーアカウント(プロジェクトを分析する権限を持つ)では機能しません。私もユーザーキーを使用しないようにしようとしましたが、ユーザーのログインとパスワード(_-Dsonar.login_と_-Dsonar.password_ in maven config)が機能しません。別のソナーバージョンを使用しようとしました(4.5.7から5.6.6から最新の6.5まで、ただし常に同じ結果が得られます)。

接続中、access.logに次のようなメッセージが表示されます。

_IP_ADDRESS - - [08/Sep/2017:12:03:33 +0200] "GET /sonar/batch/index HTTP/1.1" 200 - "-" "ScannerMaven/3.3.0.603/3.5.0" "SOME_KEY"
IP_ADDRESS - - [08/Sep/2017:12:03:33 +0200] "GET /sonar/api/settings/values.protobuf HTTP/1.1" 401 - "-" "ScannerMaven/3.3.0.603/3.5.0" "SOME_KEY"
_

私はsonar.forceAuthenticationパラメータをtrueに設定する必要があります(信頼できるユーザーのみがアクセスできます)。

資格情報パラメーターを使用してmavenを介してsonarqubeを構成およびアクセスする方法はありますか?

7
shha

両方設定しましたかsonar.loginおよびsonar.passwordパラメータ( https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven#AnalyzingwithSonarQubeScannerforMaven-Security )?

最近のバージョン(SonarQube 6.5など)では、ユーザートークンを使用してsonar.loginパラメータ: https://docs.sonarqube.org/display/SONAR/User+Token

8
Eric Hartmann

これは、プロジェクトのSonar Cube Dashboardを更新するために使用する最小限のコマンドです。

mvn clean install  sonar:sonar -Dsonar.Host.url=<Server_URL> -Dsonar.login=<Token_For_Your_User_Id> -Dsonar.projectKey=<It will be calculated by default using group id & artifact id but its advisable that you use a unique string for all users> -Dsonar.projectName=<Descriptive Project Name to show on dashboard> -Dsonar.projectVersion=<if you wish to specify a version number>

文字列値にスペースが含まれている場合は、常に二重引用符で囲むことができます。

上記のコマンドを使用する前に、Ericが提供する回答で指定されているユーザーIDのトークンを生成する必要があります。パスワードプロパティを渡す必要はありません。

2
Sabir Khan