
Платформа контроля качества кода и статического анализа с quality gates, мультиязычным сканированием и правилами, ориентированными на безопасность, для выявления уязвимостей и проблем сопровождаемости в CI/CD-процессах.
SonarQube позволяет не только показывать здоровье приложения, но и выявлять новые проблемы, появляющиеся в коде. С помощью Quality Gate вы можете добиться чистого кода и, таким образом, систематически повышать качество кода.
По вопросам поддержки («Как сделать?», «Почему я получил эту ошибку?», ...) сначала прочитайте документацию, а затем обратитесь к SonarSource Community. Скорее всего, на ваш вопрос уже ответили! 🤓
Имейте в виду, что этот форум — сообщество, поэтому здесь ожидаются стандартные формы вежливости («Привет», «Спасибо», ...). А если вы не получите ответ на свою тему, подождите не менее трёх дней, прежде чем поднимать её снова. Операторы не дежурят. 😄
Если вы хотите увидеть новую функцию или сообщить об ошибке, создайте новую тему на нашем форуме.
Пожалуйста, имейте в виду, что мы не ищем активно авторов новых функций. Дело в том, что человеку вне SonarSource чрезвычайно сложно соответствовать нашему дорожному плану и ожиданиям. Поэтому мы обычно принимаем только незначительные косметические изменения и исправления опечаток.
Учитывая это, если вы хотите внести свой вклад в код, создайте pull request в этом репозитории. Пожалуйста, объясните причины, по которым вы хотите внести это изменение: какую проблему вы пытаетесь решить, какое улучшение вы хотите сделать.
Убедитесь, что вы следуете нашему стилю кода и что все тесты проходят (сборка Travis выполняется для каждого pull request).
Хотите внести вклад в продукты SonarSource? Мы ищем умных, увлечённых и опытных специалистов, чтобы вместе создавать решения мирового класса для контроля качества кода. Посмотрите наши текущие вакансии здесь!
Чтобы собрать исходники локально, следуйте этим инструкциям.
-x test к команде gradle (полезно, если вы хотите просто собрать проект без запуска тестов)Выполните из корневого каталога проекта:
./gradlew build
Zip-файл дистрибутива генерируется в sonar-application/build/distributions/. Распакуйте его и запустите сервер, выполнив:
# on Linux
bin/linux-x86-64/sonar.sh start
# or on MacOS
bin/macosx-universal-64/sonar.sh start
# or on Windows
bin\windows-x86-64\StartSonar.bat
Если проект никогда не собирался, соберите его обычным способом (см. предыдущий раздел) или используйте более быструю команду:
./gradlew ide
Затем откройте корневой файл build.gradle как проект в IntelliJ или Eclipse.
| ./gradlew command | Описание |
|---|---|
dependencies | выводит список зависимостей |
spotlessApply | исправляет заголовки исходных файлов, применяя HEADER |
wrapper --gradle-version 5.2.1 | обновляет wrapper |
Интерфейс SonarQube (или webapp, как мы его называем) находится в другом репозитории: sonarqube-webapp.
При сборке репозитория sonarqube webapp автоматически загружается из Maven Central как зависимость, поэтому вам легко вносить изменения в бэкенд, не заботясь о webapp.
Но если ваш вклад также включает изменения в UI, вы должны клонировать репозиторий sonarqube-webapp, внести изменения там, собрать его локально, а затем собрать репозиторий sonarqube, используя переменную окружения WEBAPP_BUILD_PATH, чтобы указать на вашу собственную сборку UI.
Вот пример:
cd /path/to/sonarqube-webapp/server/sonar-web
# do your changes
# install dependencies, only needed the first time
yarn
# build the webapp
yarn build
cd /path/to/sonarqube
# build the sonarqube repository using the custom build of the webapp
WEBAPP_BUILD_PATH=/path/to/sonarqube-webapp/server/sonar-web/build/webapp ./gradlew build
Вы также можете указать конкретную версию webapp, обновив свойство webappVersion в файле ./gradle.properties, а затем собрать репозиторий sonarqube обычным способом.
Исторически наши переводы хранились в sonar-core/src/main/resources/org/sonar/l10n/core.properties, но сейчас этот файл устарел и больше не обновляется.
Стандартные переводы (на английском) теперь определены в репозитории webapp, здесь:
https://github.com/SonarSource/sonarqube-webapp/blob/master/libs/sq-server-shared/src/l10n/default.ts
Формат изменился, но вы по-прежнему можете получить его в формате .properties, выполнив следующую команду:
cd /path/to/sonarqube-webapp/server/sonar-web
# install dependencies, only needed the first time
yarn
# generate a backward compatible .properties file with all the translation keys
yarn generate-translation-keys
Обратите внимание, что создание расширений для перевода на другие языки по-прежнему работает так же, как и раньше. Изменился только источник основных переводов.
Авторские права (C) SonarSource Sàrl.
Распространяется по лицензии GNU Lesser General Public License, Version 3.0