Установка SonarQube на Ubuntu: Полное руководство
SonarQube — это мощный инструмент для анализа кода, который помогает разработчикам поддерживать качество их программного обеспечения. В этом руководстве мы рассмотрим шаги по установке SonarQube на Ubuntu и настроим его как службу Systemd.
Установка Java
Для начала необходимо установить Java, так как SonarQube требует её для работы. Я установил Java через архив .tar.gz в директорию /opt/java
. После установки нужно задать переменные окружения в файле .profile
. В моем случае, вот как это выглядело:
export JAVA_HOME=/opt/java/
export SONAR_JAVA_PATH=/opt/java/bin/java
После этого я проверил, что переменные установлены корректно:
echo $JAVA_HOME
echo $SONAR_JAVA_PATH
Обе команды вернули ожидаемые результаты.
Установка SonarQube
Следующим шагом была установка SonarQube. Я поместил файлы SonarQube в директорию /opt/sonarqube
. Чтобы запустить SonarQube вручную, я использовал следующую команду:
/opt/sonarqube/bin/linux-x86-64/sonar.sh start
Теперь SonarQube успешно работает, но я также хочу запустить его как службу Systemd.
Настройка службы Systemd
При настройке службы Systemd, я создал файл устройства системы, который выглядит следующим образом:
[Unit]
Description=SonarQube Community Build
[Service]
Type=simple
RestartSec=1
User=me
ExecStart=/bin/bash /opt/sonarqube/bin/linux-x86-64/sonar.sh start
WorkingDirectory=/opt/sonarqube
[Install]
WantedBy=multi-user.target
Однако при запуске службы я столкнулся с проблемой: журналы показывали ошибку «Java not found. Please make sure that the environmental variable SONAR_JAVA_PATH points to a Java executable».
Причина проблемы
Проблема заключалась в том, что переменные среды, установленные в файле .profile
, не были доступны для службы, так как этот файл не загружается при запуске службы Systemd.
Решение проблемы
Чтобы решить эту проблему, нужно явно указать переменные среды в файле устройства системы для службы. Вот как это можно сделать:
[Service]
Environment=JAVA_HOME=/opt/java/
Environment=SONAR_JAVA_PATH=/opt/java/bin/java
Эти строки гарантируют, что SonarQube будет иметь доступ к переменным окружения, необходимым для запуска.
Заключение
Установка и настройка SonarQube на Ubuntu может быть непростой задачей, особенно если дело касается работы с переменными окружения в системных службах. Однако, следуя этим рекомендациям, вы сможете успешно развернуть SonarQube и настроить его как службу для облегчения управления. Не забывайте регулярно проверять логи для мониторинга состояния вашего сервиса.