GithubHelp home page GithubHelp logo

gha-sonarqube-integration's Introduction

Integración de Github Actions y SonarQube

Este repositorio contiene un ejemplo de cómo integrar Sonarqube con Github Actions ejecutando Sonarqube en local y exponiéndolo al exterior con ngrok

Contexto

Este repositorio forma parte del contenido de mis cursos de udemy:

Si te interesa aprender más sobre Sonarqube o Github Actions, Puedes ver si hay promociones vigentes para los cursos en la sección de cursos de devopsbrains.com

Prerrequisitos

  • Docker
  • Docker compose
  • Node.js (solo si quieres construir la aplicación docker en local)
  • Cuenta de Github con Github Actions habilitado
  • Cuenta de ngrok

Uso del ejemplo

  • Crea un fork de este repositorio en tu cuenta de Github
  • Clona el código en local y ajusta la configuración de ngrok
    • Modifica el fichero ngrok.yaml para indicar tu dominio de ngrok en el campo domain. Para saber más sobre ngrok
    • Crea un fichero .env a la raíz del repositorio para indicar tu clave de ngrok
NGROK_AUTHTOKEN=<aqui tu token>
  • Lanza Sonarqube + ngrok en local con docker-compose up
  • Crea un token para el análisis de proyectos en sonarqube
  • Crea secretos para tu url y token de sonar para tu repositorio de Github
    • SONAR_TOKEN - El token que acabas de generar en el apartado de seguridad de SonarQube
    • SONAR_HOST_URL - Tu dominio de ngrok, donde estás exponiendo Sonarqube al mundo
  • Lanza la acción en el apartado "Actions" de tu repositorio en Github. Con un push a la rama main o manualmente
  • Si todo sale bien deberías de poder consultar el resultado en tu instancia de SonarQube

Construir la aplicación probada en local

En la carpeta src

  • Descargar las dependencias npm
npm i
  • Generar la imagen docker.
docker build . --tag dice:1.0
  • Ejecutar la aplicación
docker run --rm -p 8080:8080 dice:1.0

gha-sonarqube-integration's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.