2016-03-02 41 views
1

我打電話MSBuild.SonarQube.Scanner.exe在sonar.login令牌和sonar.branch的字符串。令牌+項目=配置權限不足

執行失敗,出現以下錯誤:一個稱爲掃描器用戶產生

13:42:03.817 INFO - Analysis report generated in 271ms, dir size=497 KB 
13:42:04.624 INFO - Analysis reports compressed in 806ms, zip size=212 KB 
13:42:04.624 DEBUG - Upload report 
13:42:05.125 DEBUG - POST 403 http://192.168.18.21:9000/api/ce/submit?projectKey=XYZ&projectName=Its%20XYZ&projectBranch=lala | time=501ms 
13:42:05.127 INFO - Analysis report generated in C:\Develop\XYZ\.sonarqube\out\.sonar\batch-report 
INFO: ------------------------------------------------------------------------ 
INFO: EXECUTION FAILURE 
INFO: ------------------------------------------------------------------------ 
Total time: 41.303s 
Final Memory: 9M/270M 
INFO: ------------------------------------------------------------------------ 
ERROR: Error during Sonar runner execution 
org.sonar.runner.impl.RunnerException: Unable to execute Sonar 
     at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91) 
     at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) 
     at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) 
     at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) 
     at org.sonar.runner.api.Runner.execute(Runner.java:100) 
     at org.sonar.runner.Main.executeTask(Main.java:70) 
     at org.sonar.runner.Main.execute(Main.java:59) 
     at org.sonar.runner.Main.main(Main.java:53) 
Caused by: Insufficient privileges 

令牌和用戶是該組聲納用戶英寸 他擁有全球權限執行分析,執行預覽分析規定項目

如果我對現有的項目執行相同的工作。看來這個令牌不允許配置一個項目。這可能嗎?

編輯:SonarQube 5.3MSBuild.SonarQube.Scanner 1.1

編輯2:我們使用LDAP(AD)鑑別

編輯3:在access.log的最後條目

[02/Mrz/2016:18:44:43 +0100] "POST /api/ce/submit?projectKey=XYZ&projectName=Its XYZ&projectBranch=lala HTTP/1.1" 403 46 "-" "SonarQubeRunner/2.4" 

進一步調查:

MSBuild.SonarQube.Scanner.exe通過從命令行調用,如:

MSBuild.SonarQube.Runner.exe /key:XYZ /name:"Its XYZ" /version:1.0.0.0 /d:sonar.branch=lala /d:sonar.scm.provider=git /d:sonar.host.url=http://192.168.18.21:9000 /d:sonar.login=<token> 

這是行不通的。

但是,如果我放在SonarQube.Analytics.xml它的工作原理中的sonar.login財產。那麼MSBuild.SonarQube.Runner.exe命令行會忽略/d:sonar.login

編輯:目前任何被允許執行分析,所以也許這就是爲什麼所有其他任務,除了供應工作。

+0

您的日誌太短,我們無法知道它在哪裏失敗。你可以請張貼更多的日誌,並且如果可能的話在調試模式下激活? (你可以在pastebin.org上發佈它 - 它會更好) –

+0

謝謝Fabrice。我嘗試獲得更多日誌。 順便說一句:有一些關於api/ce/submit的文檔嗎? – philipooo

+0

@ Fabrice-SonarSourceTeam以下是日誌(debugmode中的sonar.log + access.log)http://pastebin.com/LHBQupRQ感謝您的關注! – philipooo

回答

1

好吧,看來我要令牌/d:sonar.login=傳遞給MSBuild.SonarQube.Scanner.exe結束過的號召 - 因爲它不是SonarQube.Analytics.xml中定義。現在聽起來很清楚 -

+0

是的,由於安全原因,MSBuild掃描儀不保留磁盤上的憑據,所以你需要將這兩個都傳遞給'begin'和'end'步驟 –

+0

絕對正確! @迪內希 - SonarSourceTeam – philipooo