SonarQube - это инструмент с открытым исходным кодом для разработки систем качества. Он написан на Java и поддерживает несколько баз данных. Он предоставляет возможности для непрерывной проверки кода, отображения работоспособности приложения и выделения новых проблем. Он содержит анализаторы кода, которые оснащены для выявления сложных проблем. Он также легко интегрируется с DevOps.
В этом руководстве мы установим последнюю версию SonarQube на Ubuntu 16.04.
Предпосылки
- 64-разрядный экземпляр сервера Vultr Ubuntu 16.04 с ОЗУ не менее 2 ГБ.
- Пользователь Sudo .
Перед установкой любых пакетов на экземпляр сервера Ubuntu рекомендуется обновить систему. Войдите в систему, используя пользователя sudo, и выполните следующие команды для обновления системы.
sudo apt-get update
sudo apt-get -y upgrade
Шаг 2: Установите JDK
Добавьте репозиторий Oracle Java на сервер, запустив.
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Установите Oracle JDK, набрав:
sudo apt install oracle-java8-installer
Теперь вы можете проверить версию Java, набрав:
java -version
Шаг 3: Установите и настройте PostgreSQL
Установите репозиторий PostgreSQL.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
Установите сервер базы данных PostgreSQL, выполнив:
sudo apt-get -y install postgresql postgresql-contrib
Запустите сервер PostgreSQL и включите его автоматический запуск во время загрузки, выполнив:
sudo systemctl start postgresql
sudo systemctl enable postgresql
Измените пароль для пользователя PostgreSQL по умолчанию.
sudo passwd postgres
Переключиться на postgres
пользователя.
su - postgres
Создайте нового пользователя, набрав:
createuser sonar
Переключитесь на оболочку PostgreSQL.
psql
Установите пароль для вновь созданного пользователя для базы данных SonarQube.
ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';
Создайте новую базу данных для базы данных PostgreSQL, запустив:
CREATE DATABASE sonar OWNER sonar;
Выход из psql
оболочки:
\q
Вернитесь к пользователю sudo, выполнив exit
команду.
Загрузите архив файлов установщика SonarQube.
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.4.zip
Вы всегда можете найти ссылку на последнюю версию приложения на странице загрузки SonarQube .
Установите распаковать, запустив:
apt-get -y install unzip
Распакуйте архив с помощью следующей команды.
sudo unzip sonarqube-6.4.zip -d /opt
Переименуйте каталог:
sudo mv /opt/sonarqube-6.4 /opt/sonarqube
Откройте файл конфигурации SonarQube, используя ваш любимый текстовый редактор.
sudo nano /opt/sonarqube/conf/sonar.properties
Найдите следующие строки.
#sonar.jdbc.username=
#sonar.jdbc.password=
Раскомментируйте и предоставьте имя пользователя и пароль PostgreSQL для базы данных, которую мы создали ранее. Это должно выглядеть так:
sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword
Далее найдите:
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
Раскомментируйте строку, сохраните файл и выйдите из редактора.
SonarQube может быть запущен напрямую с помощью сценария запуска, предоставленного в пакете установщика. Для удобства вам следует установить файл модуля Systemd для SonarQube.
nano /etc/systemd/system/sonar.service
Заполните файл:
[Unit]
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=root
Group=root
Restart=always
[Install]
WantedBy=multi-user.target
Запустите приложение, запустив:
sudo systemctl start sonar
Включите службу SonarQube для автоматического запуска во время загрузки.
sudo systemctl enable sonar
Чтобы проверить, работает ли служба, запустите:
sudo systemctl status sonar
По умолчанию SonarQube прослушивает localhost на порту 9000. В этом руководстве мы будем использовать Apache в качестве обратного прокси-сервера, чтобы к приложению можно было получить доступ через стандартный порт HTTP. Установите веб-сервер Apache, выполнив:
sudo apt-get -y install apache2
Включить mod_proxy
.
sudo a2enmod proxy
sudo a2enmod proxy_http
Создайте новый виртуальный хост.
sudo nano /etc/apache2/sites-available/sonar.yourdomain.com.conf
Заполните файл:
<VirtualHost *:80>
ServerName sonar.yourdomain.com
ServerAdmin [email protected]
ProxyPreserveHost On
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
TransferLog /var/log/apache2/sonar.yourdomain.com_access.log
ErrorLog /var/log/apache2/sonar.yourdomain.com_error.log
</VirtualHost>
Включить виртуальный хост.
sudo a2ensite sonar.yourdomain.com.conf
Запустите Apache и включите его автоматический запуск во время загрузки:
sudo systemctl start apache2
sudo systemctl enable apache2
Если ваш сервер уже запущен, перезапустите его, используя:
sudo systemctl restart apache2
Шаг 6: Завершить установку
Запустите сервис SonarQube:
sudo systemctl start sonar
SonarQube установлен на вашем сервере, доступ к панели инструментов по следующему адресу.
http://sonar.yourdomain.com
Войдите в систему, используя начальную учетную запись администратора, admin
и admin
. Теперь вы можете использовать SonarQube для постоянного анализа написанного вами кода.