SonarQube платформа с открытым исходным кодом, помогает разработчикам поддерживать качество кода посредством непрерывной проверки и анализа. Установка SonarQube на Ubuntu 22.04 с помощью Docker Compose обеспечивает удобное и масштабируемое решение.

1. Установите обновления на свою систему

Прежде чем приступить к процессу установки, убедитесь, что ваша система Ubuntu 22.04 обновлена. Выполните следующие команды из терминала.

$ sudo apt update
$ sudo apt upgrade -y

Apt-Update-Ubuntu-22-04-System

2. Установите Docker и Docker Compose

SonarQube будет развернут с помощью Docker, поэтому начнем с установки Docker и Docker Compose. Пакеты Docker и docker compose доступны в репозиториях пакетов по умолчанию, поэтому их установка проста, выполните следующие команды:

$ sudo apt install docker.io docker-compose -y

Служба Docker запускается автоматически при каждой установке пакета Docker. Выполните следующую команду Docker, чтобы проверить состояние службы Docker и версию docker-compose.

$ systemctl status docker
$ docker-compose --version

Проверка-Docker-Service-Docker-Compose-Version-Ubuntu-22-04

Добавьте локального пользователя в группу Docker, чтобы он мог выполнять команды администратора Docker с добавлением sudo.

$ sudo usermod -aG docker $USER
$ newgrp docker

3. Создание файла Docker Compose для SonarQube

Далее давайте создадим каталог для нашей настройки SonarQube и перейдем в него:

$ mkdir sonarqube
$ cd sonarqube

Теперь создайте `docker-compose.yml` файл с помощью предпочитаемого вами текстового редактора:

$ vi docker-compose.yml

Вставьте в файл следующую конфигурацию:

version: '3'
services:
  sonarqube:
    image: sonarqube:latest
    container_name: sonarqube
    ports:
      - "9000:9000"
      - "9092:9092"
    environment:
      - SONARQUBE_JDBC_USERNAME=sonarqube
      - SONARQUBE_JDBC_PASSWORD=sonarqube
      - SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
    networks:
      - sonarnet
    volumes:
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/opt/sonarqube/logs

  db:
    image: postgres:latest
    container_name: postgres
    environment:
      - POSTGRES_USER=sonarqube
      - POSTGRES_PASSWORD=sonarqube
    networks:
      - sonarnet
    volumes:
      - postgresql:/var/lib/postgresql

networks:
  sonarnet:
    driver: bridge

volumes:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_logs:
  postgresql:

Docker-Compose-Yaml-Файл-SonarQube

Сохраните и закройте файл.

4. Установите SonarQube с помощью Docker Compose на Ubuntu 22.04

Теперь, когда у нас настроен файл Docker Compose, давайте развернем SonarQube, выполнив следующую команду:

$ docker-compose up -d

Эта команда извлечет необходимые образы Docker, создаст тома, сеть, а затем запустит контейнеры SonarQube и PostgreSQL в фоновом режиме.

Установите SonarQube с Docker Compose на Ubuntu 22.04

Проверьте контейнеры Sonarqube и postgres, запустите

$ docker ps

Проверка-SonarQube-Postgres-Containers-Ubuntu-22-04

5. Доступ к веб-интерфейсу SonarQube

После того, как контейнеры будут запущены и запущены, вы сможете получить доступ к веб-интерфейсу SonarQube, открыв веб-браузер и перейдя по адресу `http://<IP-адрес-вашей-системы>:9000`. Вы должны увидеть страницу входа в SonarQube, как показано ниже:

SonarQube-Login-Page-Ubuntu-22-04

Используйте учетные данные по умолчанию:

  • Имя пользователя: admin
  • Пароль: admin

После входа в систему вам будет предложено изменить пароль по умолчанию.

Обновление-Пароль-SonarQube-Ubuntu-22-04

После ввода нового пароля нажмите «Update

SonarQube-Dashboard-Docker-Compose-Ubuntu-22-04

6. Настройка SonarQube

После смены пароля вы можете настроить SonarQube в соответствии с требованиями вашего проекта. Вы можете создавать проекты, настраивать шлюзы качества и анализировать код, следуя инструкциям на экране.

Чтобы остановить SonarQube, выполните следующую команду.

$ docker-compose stop sonarqube
Stopping sonarqube ... done
$

Чтобы запустить sonarqube, запустите

$ docker-compose start sonarqube
Starting sonarqube ... done
$

Чтобы удалить и деинсталлировать sonarqube, запустите

$ docker-compose rm sonarqube