Как управлять переменными среды с помощью Systemd

Установка 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 и настроить его как службу для облегчения управления. Не забывайте регулярно проверять логи для мониторинга состояния вашего сервиса.

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *