Domina Sonarqube y mejora la calidad de tu código
What you'll learn
- Entender qué es SonarQube y para qué sirve
- Lanzar SonarQube usando docker
- Comprender las diferencias entre las versiones y ediciones de sonar
- Entender los conceptos del análisis estático de código y a interpretar la información que presenta sonarQube
- Analizar código fuente con distintos scanners
- Reportar la cobertura de tests
- Instalar y usar sonarlint en VS Code, Eclipse e IntelliJ
- Administrar perfiles y umbrales de calidad
- Instalar plugins y realizar otras configuraciones de la administración
- Usar la API web para automatizar tareas
- Integrar sonarQube con Github Actions
- Integrar sonarQube con Jenkins
- Integrar sonarQube con Bitbucket cloud
- Integrar sonarQube con Gitlab
- Integrar sonarQube con Azure Devops
Requirements
- No necesitas experiencia previa con sonarQube
- Te puede ayudar tener cierta familiaridad con git y docker pero no es necesario que seas un experto en su uso. Explicaremos su instalación y los comandos que se vayan usando a medida que se vayan necesitando
- Tener nociones en algún lenguaje de programación te puede ayudar a entender mejor algunos ejemplos, pero no es indispensable que seas un programador experto
Description
Este curso te cuenta las claves para dominar SonarQube y su ecosistema para sacarle el máximo partido y mejorar la calidad de tu código.
Comenzaremos explicando el propósito y utilidad de SonarQube y Sonarlint y dónde encajan dentro de un ecosistema DevOps. Lanzaremos SonarQube en nuestras máquinas usando Docker y haremos un primer recorrido por la interfaz de la herramienta para situarnos y aprender dónde encontrar la información que necesitamos en cada momento. También aprenderemos sobre las distintas ediciones y versiones de SonarQube
Seguiremos introduciendo los conceptos clave y terminología para entender la utilidad del análisis estático de código, cuáles son los parámetros que utiliza SonarQube para medir la calidad del código y cuál es la arquitectura de la herramienta.
Luego nos pondremos manos a la obra. La idea es que a partir de este capítulo vayas realizando todos los ejercicios mientras ves los vídeos, para que pongas en práctica lo que vayamos aprendiendo. El curso está pensado para "aprender haciendo". Lanzaremos análisis para varios lenguajes de programación, reportaremos la cobertura de código y usaremos varios scanners para ello.
Luego veremos cómo llevar el poder de SonarQube hasta nuestros editores de código, instalando Sonarlint en VSCode, IntelliJ y Eclipse y veremos cómo configurar el modo conectado de sonarlint para aprovechar al máximo sus capacidades.
Tras tener dominado el aspecto usuario de sonarQube y Sonarlint, trataremos los aspectos de administración y veremos cómo podemos gestionar una instancia de SonarQube, configurar reglas personalizadas, perfiles y umbrales de calidad, instalar plugins, configurar la seguridad de la instancia y en general ajustar todos los parámetros necesarios para su correcto funcionamiento.
Luego añadiremos a nuestro arsenal de conocimientos el uso de la API web de SonarQube para comunicarnos de forma programática con el servidor y poder realizar tareas de monitorización, extracción de datos, automatización y cualquier tarea que se nos ocurra.
Finalmente pondremos la guinda al pastel integrando SonarQube con diversas plataformas de devops: Github Actions, Jenkins, Bitbucket Pipelines, Gitlab pipelines y Azure Devops.
Al final de curso tendrás un profundo conocimiento de sonarQube y estarás listo para:
Definir los umbrales, perfiles y reglas que más te interesen para controlar la calidad de tu código
Analizar tu código en local con sonarlint
Integrar SonarQube en tu plataforma de devops favorita
Novedades febrero 2024
Nuevo módulo "Formas alternativas de lanzar SonarQube" con formas alternativas a docker para lanzar el servidor: Instalación sobre Windows y uso con docker-compose
Añadidos al módulo de "Análisis de código" procedimientos de instalación del sonarScanner cli y de maven sobre Windows (sin docker)
Nuevo módulo "Actualizaciones de SonarQube" con las novedades más notables de la versión 10.4
Novedades marzo 2024
Añadido al módulo de "Formas alternativas de lanzar SonarQube" cómo conectar sonarQube con una base de datos externa. Sobre windows y sobre docker compose
Who this course is for:
- Desarrolladores: Si eres desarrollador, Sonar te va a ayudar a escribir código limpio y va a ser tu "Entrenador" en tiempo real. Te va a dar feedback a medida que vas desarrollando
- Ingenieros DevOps: Si eres un ingeniero devops, puedes aprender sobre las diversas formas en las que puedes integrar sonar en el ciclo de vida del desarrollo del software. Además SonarQube puede ayudarte a revisar la infraestructura como código ya que sonar permite analizar descriptores de ficheros para Docker, kubernetes, cloud formation, terraform
- Managers: Si eres manager, conocer las capacidades de sonar te puede servir para reducir costes y para entregar valor a los clientes más rápidamente, al detectar problemas de forma temprana. También te servirá para mejorar la seguridad de tus productos y reducir el riesgo de ataques
Instructor
I have a double diploma in telecommunications engineering from the Polytechnic University of Madrid and from Télécom Paristech and I have been working in the IT sector for more than ten years.
I have always believed that continuous training is essential in any sector and especially in IT where technology changes at a dizzying pace.
I have been an avid consumer of online training and now I am ready to cross the barrier, get to the other side and share my knowledge and experiences in my courses.
During my professional career I have worked in several companies and have held various roles: I have been a backend developer, full stack developer, scrum master, technical leader and DevOps engineer.
I have also obtained some certifications:
- AWS Certified Solutions Architect - Professional
- Google Cloud Associate Cloud Engineer
- Certified Kubernetes Administrator
For the last 4 years I have worked in a team focused on DevOps with the objective of developing and enabling testing tools and processes and improving code quality for a company with thousands of developers. I have had the pleasure of rubbing shoulders with great professionals and experts in DevOps from whom I have learned enormously. Together, we have faced various challenges to transform the way developers work and have learned valuable lessons.
Now I want to share that knowledge and I'm excited to be able to do it here on udemy.