Dockerizando SonarQube

Manuel Ortega Carcamo
3 min readJan 15, 2020

--

Siguiendo con esta series de artículos para utilizar SonarQube, veremos como levantarlo en tu computador usando Docker.

Como es un tema extenso, separe este tema en varios artículo que son los siguientes:

1).- Que es SonarQube
2).-Dockerizando SonarQube
3).-Configurando un proyecto ReacJs — Pronto Disponibles
4).-Configurando un proyecto NodeJs — Pronto Disponibles
5).-Configurando un proyecto Java en SpringBoot — Pronto Disponibles

— — Dockerizando SonarQube — —

Con Docker podemos crear contenedores ligeros y portables donde en su interior se encontrará todo lo necesario para que una aplicación se ejecute correctamente (Librerías, dependencias, versiones de Kernel del sistema operativo, Motores de bases de datos, etc.).

Los contenedores son infinitamente más livianos que las máquinas virtuales y nos permiten recrear un entorno productivo en uno portátil. La construcción de imágenes se puede definir en ficheros de configuración en texto plano (Dockerfile) y contamos con herramientas como Docker Compose que nos permiten ejecutar y construir entornos multi-contenedor de forma muy sencilla. Estas características nos permiten el uso de control de versiones como Git, e integrarse de manera muy sencilla en flujos de integración continua.

El presente artículo entrega una base para instalar SonarQube en un contenedor Docker.

Instalación de Docker

Puedes seguir estas guías según el sistema operativo que utilices:
.- Ubuntu
.- OSX
.- Windows

Creando la Receta

El archivo docker-compose.yml un archivo YAML que funciona como una receta donde especificamos servicios , redes y volúmenes que necesitamos para generar la infraestructura y ejecutar SonarQube.

Necesitamos implementar una infraestructura que permita:
.- Crear un contenedor que contenga la imagen de SonarQube
.- Crear un contenedor que contenga la imagen de la base de datos Postgresql
.- Crear un red que permita vincular ambos contenedores
.- Crear un volumen para perdurar la data

Ahora que tenemos claro que tenemos que hacer, debemos generar la siguiente estructura en la carpeta donde generaremos la infraestructura:

.
├── docker-compose.yml
├── postgresql_data
└── sonarqube_data

Comencemos con la receta:

.- versión: Corresponde a la versión del formato que usaremos para generar el archivo docker-compose.yml

.- services: Este ítem contiene la configuración que se aplica a cada contenedor que iniciaremos.

.-volumes: Permite montar un volumen de datos en el equipo host y montarlo en el contenedor para poder persistir datos.

El repositorio puedes encontrarlo en: https://github.com/mortegac/dockerizando-sonarqube

Una vez que hemos generado la receta y tenemos creada la estructura de carpetas, debemos abrir nuestra terminal y mediante el siguiente comando generar nuestros contenedores.

Luego debemos crear e inicializar los contenedores con el siguiente comando

docker-compose up

Para comprobar que nuestros contenedores se ejecutan correctamente usaremos el siguiente comando:

docker ps -a

Si todo esta bien podemos abrir nuestro navegador e ingresar a http://localhost/ y podremos visualizar SonarQube ejecutandose.

Para acceder usemos los siguiente accesos:

.- Usuario : admin
.- Clave: bitnami

Felicitaciones!

Ya tienes instalado y ejecutándose SonarQube

En un próximo artículo detallare como usar sonar-Scanner para enviar nuestro código a SonarQube y poder obtener métricas de calidad.

--

--

Manuel Ortega Carcamo

Software Engineer, Full Stack developer, passionate about code, Surfing, Snowboard. Mostly working with Javascript and Nodejs