
Bitbucket Pipe для запуска анализа SonarCloud
Сканируйте свой код с помощью SonarQube Cloud, чтобы обнаруживать ошибки, уязвимости и «запахи» кода более чем в 25 языках программирования.
Ваша учётная запись SonarCloud должна быть сначала связана с вашей командой или учётной записью пользователя Bitbucket. SonarQube Cloud полностью бесплатен для проектов с открытым исходным кодом. Если ваш код закрыт, SonarQube Cloud также предлагает платный тариф для запуска частных анализов.
NOTE: Для проектов, использующих Maven или Gradle, выполняйте соответствующий сканер напрямую, а не через этот pipe (см. примеры).
Добавьте следующий фрагмент в раздел script вашего файла bitbucket-pipelines.yml:
- pipe: sonarsource/sonarcloud-scan:4.1.0
# variables:
# SONAR_TOKEN: '<string>' # Optional
# EXTRA_ARGS: '<array of strings>' # Optional
# SONAR_SCANNER_JAVA_OPTS: '<string>' # Optional
# DEBUG: '<boolean>' # Optional
| Variable | Usage |
|---|---|
| SONAR_TOKEN (*) | Токен SonarQube Cloud. Рекомендуется использовать защищённую переменную репозитория или учётной записи. В этом случае нет необходимости указывать эту переменную в файле bitbucket-pipelines.yml. |
| EXTRA_ARGS | Дополнительные параметры анализа (см. документацию) |
| SONAR_SCANNER_JAVA_OPTS | Параметры JVM для сканера (например, "-Xmx256m") |
| DEBUG | Включить дополнительную отладочную информацию. По умолчанию: false. |
(*) = обязательная переменная.
Этот pipe инкапсулирует выполнение анализатора кода SonarQube Cloud для обнаружения ошибок, уязвимостей и «запахов» кода. SonarQube Cloud затем может оформлять ваши Pull Request и сообщать информацию о качестве кода. Руководство по началу работы доступно здесь: Get started with Bitbucket Cloud.
Чтобы использовать этот pipe, необходимо создать проект в SonarQube Cloud, а затем использовать сгенерированный токен в защищённой переменной с именем SONAR_TOKEN в вашем репозитории или в команде/личной учётной записи Bitbucket.
Базовый пример:
- pipe: sonarsource/sonarcloud-scan:4.1.0
Чуть более продвинутый пример:
- pipe: sonarsource/sonarcloud-scan:4.1.0
variables:
EXTRA_ARGS: ['-Dsonar.projectDescription="Project with sonarcloud-scan pipe"', '-Dsonar.eslint.reportPaths=report.json']
SONAR_SCANNER_JAVA_OPTS: "-Xmx512m"
DEBUG: "true"
В этом примере используется пользовательское описание проекта в SonarQube Cloud, читается отчёт, созданный eslint, устанавливается максимальный объём памяти 512 МБ и включается подробный вывод.
Если вам нужна помощь с этим pipe, или у вас есть проблема или запрос функции, сообщите нам на нашем форуме сообщества.
Если вы сообщаете о проблеме, укажите: