Я использую SonarQube для проверки и обеспечения качества кода моего мобильного приложения Ionic 3.Я использую MAC для разработки, и я использую локальный экземпляр SonarQube в MAC.
Версия SonarQube, которую я использую, - 7.3, а SonarQube Scanner - 3.2.Согласно документации, я запустил sonar.sh и увидел, что сервер SonarQube запущен успешно.Я могу перейти к http://localhost:9000/about
, чтобы увидеть страницу SonarQube.
Создал файл с именем sonar-project в корневой папке проекта и предоставил в нем следующую информацию.
# must be unique in a given SonarQube instance
sonar.projectKey= com.domain.app
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName= 'myApp'
sonar.projectVersion= '0.0.1'
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# This property is optional if sonar.modules is set.
sonar.sources= './'
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
Также отредактированоФайл /Users/ustuser/Documents/Softwares/sonar-scanner-3.2.0.1227-macosx/conf/sonar-scanner.properties
имеет следующие свойства.
#----- Default SonarQube server
sonar.host.url=http://localhost:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
sonar.java.source=1.8
# Language
sonar.language=ts
Перешел на http://localhost:9000/
и вошел в систему администратора объявлений.Сгенерировал пароль доступа, предоставив моему проекту уникальный ключ.Со всей информацией, создан файл .command
.Ниже приведена подробная информация
sonar-scanner \
-Dsonar.projectKey=com.domain.app \
-Dsonar.sources=.\
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=xxxx69c0bc10ba1b78xxxx2c2c1d305c7cfxxxx
При запуске командного файла из корневого каталога проекта я получаю сообщение об ошибке ниже.
INFO: SonarQube Scanner 3.2.0.1227
INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
INFO: Mac OS X 10.13.6 x86_64
INFO: User cache: /Users/ustuser/.sonar/cache
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 1:00.388s
INFO: Final Memory: 4M/123M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
ERROR: Unable to execute SonarQube
ERROR: Caused by: Fail to get bootstrap index from server
ERROR: Caused by: timeout
ERROR: Caused by: Read timed out
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging
Я мог найти только ограниченную информацию, работая с автономным сканером SonarQube.в интернете.
При работе с ключом -X я получил следующую ошибку.
10:29:30.729 DEBUG: Extract sonar-scanner-api-batch in temp...
10:29:30.743 DEBUG: Get bootstrap index...
10:29:30.743 DEBUG: Download: http://localhost:9000/batch/index
10:30:30.872 INFO: ------------------------------------------------------------------------
10:30:30.872 INFO: EXECUTION FAILURE
10:30:30.872 INFO: ------------------------------------------------------------------------
10:30:30.873 INFO: Total time: 1:00.621s
10:30:30.905 INFO: Final Memory: 4M/123M
10:30:30.905 INFO: ------------------------------------------------------------------------
10:30:30.905 ERROR: Error during SonarQube Scanner execution
org.sonarsource.scanner.api.internal.ScannerException: Unable to execute SonarQube
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.lambda$createLauncher$0(IsolatedLauncherFactory.java:85)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:74)
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:70)
at org.sonarsource.scanner.api.EmbeddedScanner.doStart(EmbeddedScanner.java:167)
at org.sonarsource.scanner.api.EmbeddedScanner.start(EmbeddedScanner.java:113)
at org.sonarsource.scanner.cli.Main.execute(Main.java:73)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.lang.IllegalStateException: Fail to get bootstrap index from server
at org.sonarsource.scanner.api.internal.BootstrapIndexDownloader.getIndex(BootstrapIndexDownloader.java:42)
at org.sonarsource.scanner.api.internal.JarDownloader.getScannerEngineFiles(JarDownloader.java:58)
at org.sonarsource.scanner.api.internal.JarDownloader.download(JarDownloader.java:53)
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.lambda$createLauncher$0(IsolatedLauncherFactory.java:76)
... 7 more
Caused by: java.net.SocketTimeoutException: timeout
at org.sonarsource.scanner.api.internal.shaded.okio.Okio$4.newTimeoutException(Okio.java:230)
at org.sonarsource.scanner.api.internal.shaded.okio.AsyncTimeout.exit(AsyncTimeout.java:285)
at org.sonarsource.scanner.api.internal.shaded.okio.AsyncTimeout$2.read(AsyncTimeout.java:241)
at org.sonarsource.scanner.api.internal.shaded.okio.RealBufferedSource.read(RealBufferedSource.java:46)
at org.sonarsource.scanner.api.internal.shaded.okhttp.internal.http1.Http1Codec$UnknownLengthSource.read(Http1Codec.java:482)
at org.sonarsource.scanner.api.internal.shaded.okio.RealBufferedSource.request(RealBufferedSource.java:67)
at org.sonarsource.scanner.api.internal.shaded.okio.RealBufferedSource.rangeEquals(RealBufferedSource.java:408)
at org.sonarsource.scanner.api.internal.shaded.okio.RealBufferedSource.rangeEquals(RealBufferedSource.java:392)
at org.sonarsource.scanner.api.internal.shaded.okhttp.internal.Util.bomAwareCharset(Util.java:431)
at org.sonarsource.scanner.api.internal.shaded.okhttp.ResponseBody.string(ResponseBody.java:174)
at org.sonarsource.scanner.api.internal.ServerConnection.downloadString(ServerConnection.java:99)
at org.sonarsource.scanner.api.internal.BootstrapIndexDownloader.getIndex(BootstrapIndexDownloader.java:39)
... 10 more
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at org.sonarsource.scanner.api.internal.shaded.okio.Okio$2.read(Okio.java:139)
at org.sonarsource.scanner.api.internal.shaded.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
... 19 more