Laboratorio SonarQube con Vagrant: Desde Cero

Guía práctica para montar un laboratorio SonarQube automatizado con Vagrant y VirtualBox, usando Bash y SystemD, que facilita Infraestructura como Código, automatización y pipelines CI/CD sin instalar Java en la máquina anfitriona.

17 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

En este artículo explico cómo montar un laboratorio SonarQube totalmente automatizado usando Vagrant y VirtualBox, traducido y reescrito para facilitar su comprensión y adaptación. El objetivo es ofrecer un entorno limpio y aislado para practicar Infraestructura como Código, automatización con Bash y gestión de servicios con SystemD, sin necesidad de instalar un entorno Java completo en la máquina anfitriona.

Por qué montar este laboratorio y qué aporta SonarQube: SonarQube es la herramienta líder para análisis estático de código que detecta bugs, vulnerabilidades y code smells, ayudando a mantener altos estándares de calidad y seguridad. Tener un laboratorio permite explorar integraciones con pipelines de CI CD y experimentar sin riesgo sobre el equipo principal.

Herramientas principales utilizadas: Vagrant para crear y gestionar máquinas virtuales de forma declarativa y reproducible. VirtualBox como proveedor de virtualización. Un pequeño script de provisionamiento en Bash que instala dependencias, descarga SonarQube y lo configura como servicio systemd. Un archivo .env para centralizar variables de versión y rutas.

Estructura básica del proyecto: una carpeta de proyecto que contiene un Vagrantfile con la definición de la VM, un archivo provision.sh con los pasos de instalación y configuración, y un archivo .env con las variables como versión de SonarQube, URL de descarga, usuario y rutas. Esta separación facilita actualizaciones y mantenimiento.

Requisitos previos: tener instalados Vagrant y VirtualBox en la máquina anfitriona. Crear la carpeta del proyecto e inicializar Vagrant con vagrant init. En el Vagrantfile se define la box base, por ejemplo ubuntu 22.04, el reenvío de puerto 9000 para acceder a SonarQube desde el navegador, la memoria y CPU asignadas, y la provisión de archivos y ejecución del provision.sh.

Archivo de variables .env: conviene almacenar aquí datos como SONAR_USER, SONAR_GROUP, SONAR_VERSION, SONAR_URL, SONAR_HOME y JAVA_BIN. Separar configuración de lógica hace que sea muy sencillo actualizar a nuevas versiones del producto.

Qué hace el script provision.sh: ejecuta actualizaciones del sistema, instala dependencias como OpenJDK 17 que requiere SonarQube 9.9 LTS, descarga y descomprime el paquete de SonarQube, crea un usuario y grupo específicos, ajusta permisos, genera un archivo de servicio systemd para lanzar SonarQube con opciones de memoria y JVM, habilita y arranca el servicio y comprueba su estado. También puede instalar sonar scanner y herramientas adicionales como Node.js si son necesarias para ciertos análisis.

Subir el laboratorio: con todos los archivos preparados, ejecutar vagrant up. Vagrant descargará la imagen base, creará la VM y ejecutará el script de provisión. El primer arranque puede tardar varios minutos según la conexión y recursos.

Acceso y credenciales: una vez provisionado, acceder a SonarQube en https://localhost:9000. La primera vez el servicio puede tardar un par de minutos en estar totalmente operativo. Las credenciales por defecto suelen ser admin admin y se recomienda cambiar el password y generar un token personal para el scanner.

Analizar un proyecto de ejemplo: crea una carpeta de proyecto local con un archivo de código simple que contenga un code smell y configura sonar-project.properties con projectKey, projectName, projectVersion, sonar.sources y los datos de conexión sonar.host.url y sonar.login con tu token. Ejecuta el análisis con sonar scanner local o con la imagen de Docker del scanner, montando el volumen del proyecto hacia el contenedor.

Depuración y consejos prácticos: si el provisionamiento falla, usar vagrant ssh para entrar en la VM y revisar systemctl status sonarqube.service o journalctl -u sonarqube.service. SonarQube consume memoria, por lo que los 2 GB definidos son mínimos; si la interfaz va lenta, aumentar la RAM a 4 GB o más. Mantener variables en .env facilita actualizaciones a nuevas versiones de SonarQube.

Aprendizajes: este laboratorio ejemplifica Infraestructura como Código, permite practicar despliegues repetibles y seguros y enseña a configurar servicios como si se tratara de una VPS real, ideal para equipos DevOps y desarrolladores que desean dominar la automatización de infraestructuras.

Acerca de Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software que ofrece soluciones a medida y consultoría tecnológica. Nos especializamos en aplicaciones a medida y software a medida, inteligencia artificial aplicada a empresas, ciberseguridad, servicios cloud aws y azure y soluciones de inteligencia de negocio. Si buscas un socio para crear software personalizado, puedes conocer nuestros servicios de desarrollo en desarrollo de aplicaciones a medida. También diseñamos soluciones basadas en inteligencia artificial y agentes IA para automatizar procesos y mejorar resultados; descubre nuestras propuestas de IA empresarial en servicios de inteligencia artificial.

Palabras clave y servicios relacionados: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Si necesitas integrar SonarQube en pipelines de CI CD en la nube, o desplegar análisis de calidad como parte de un flujo DevOps en entornos AWS o Azure, en Q2BSTUDIO podemos acompañar en la arquitectura, automatización y seguridad del proceso.

Conclusión: montar un laboratorio SonarQube con Vagrant y VirtualBox es una forma accesible y segura de aprender operaciones de infraestructura, automatización y análisis de calidad de código. Además, este tipo de laboratorios permiten probar integraciones con herramientas de CI CD, escalar a servicios cloud y validar prácticas de seguridad antes de aplicarlas en entornos de producción. Si te interesa llevar estas prácticas a proyectos reales, Q2BSTUDIO ofrece experiencia en desarrollo, cloud, ciberseguridad y soluciones de inteligencia de negocio para transformar ideas en productos escalables.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat