Архитектуру процесса и описание можно найти в моём телеграм канале
Там же задать вопрос или просто пообщаться
Присоединяйся
| Требования для сервера SonarQube | |
|---|---|
| OC: | Ubuntu |
| CPU: | 4 |
| RAM: | 8 Gb |
| HDD: | 50 Gb |
| Установленное ПО: | docker, docker-compose |
| Навыки: | Знания docker и jenkins |
Установка сервера SonarQube
Поднимаем сервер на Ubuntu. На сервере SonarQube. Создаём директорию:
| |
Если сеть закрытая и нет доступа к инету после установки создать файл:
| |
И добавить строку:
| |
Меняем владельца:
| |
docker-compose файл:
nano docker-compose.yaml
| |
Запускаем:
| |
Конфигурация сервера SonarQube
Заходим на сервер Sonar http://IP:9000/

Логин и пароль: admin:admin
Меняем на свой (12 символов)

Создаём локальный проект:

Называем его. В моём случае Jenkins_scan.

Default

Далее создаём токен для синхронизации с Jenkins:

My account -> Security - Generate Token

Полученный токен вставить в Jenkins -> Credentials -> Add Credentials -> Secret Text и вставить Токен

Настройка синхронизации в Jenkins.
Сервер Сонара у нас готов. Далее работаем с Jenkins.
Устанавливаем плагин SonarQube Scanner for Jenkins:

Настройки -> System -> SonarQube servers -> Задаем имя сервера, URL и выбираем креды созданные ранее.

Дальше два варианта.
На сервере Jenkins или Slave, в зависимости от того, где собирается код, нужно установить SonarQube CLI для выполнения сканирования.
- Если нет инета
URL с архивом Linux64: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-7.3.0.5189-linux-x64.zip
Я распаковал по этому пути: var/jenkins_home/sonar/bin/sonar-scannerJenkins -> Tools -> SonarQubeЗадаём имя сканера и директорию куда положили CLI:
| |

Если сервер Jenkins (Slave) имеет выход в инет, то можно скачать CLI во время сборки.
Jenkins -> Tools -> SonarQube
Задаём имя сканера и версию:
| |

Написание Pipeline Jenkins
Далее создаём или встраиваем в Pipeline-Jenkins
Я создаю параметр для сборок, чтобы они перемещались на сервере SonarQube в Project: Jenkins_scan

Пример моего пайплайна (данные репозитория ваши):
| |

Запуск проверок
Запустить тесты:

Успешно. Идём на сервер SonarQube.

Наш код проверен. Можем перейти в подробности.

Установка завершена. Можете при сборке использовать как скан вашего Git репозитория. Jenkinsfile при сборке и прочее на ваш вкус.
