Pregunta

Tengo un problema simple, con una respuesta simple, pero no puedo encontrar lo que es.Queremos implementar Sonarqube junto con el estilo de verificación y algunas otras herramientas, pero no podemos averiguarnos si no se entiende para una implementación centralizada de servidor, o en cada máquina de desarrolladores.Todos los tutoriales muestran instalaciones en máquinas separadas y se utilizan en el localhost, mientras que hay un ejemplo de instancia pública, y los requisitos y las especificaciones ciertamente se ven como servicio.

Por otro lado, no recibo cómo los desarrolladores envían su código para verificaciones si está en un servidor.

Entonces, en resumen, ¿cómo se despliega?Cualquier lista de verificación o algo similar sería de gran ayuda.

¿Fue útil?

Solución

Sonarqube (anteriormente solo "sonar") es un sistema basado en servidor. Por supuesto, puede instalarlo en su máquina local (los requisitos de hardware son mínimos). Pero es un servidor central con una base de datos.

Los análisis se realizan mediante un software de "cliente" de sonar, que podría ser el corredor de sonar, la tarea de Sonar Ant, el plugin de Eclipse Sonar, etc. Los resultados del análisis se pueden cargar automáticamente en el servidor, donde se puede acceder a través de la SONAR APLICACIÓN WEB.

En un entorno con muchos desarrolladores, debe ejecutar un servidor de compilación (por ejemplo, Hudson o Jenkins), que realiza análisis automáticos de sonar como parte de la construcción nocturna. Otros horarios son posibles, pero los desarrolladores deben saber cuándo pueden esperar actualizaciones de los resultados del análisis del lado del servidor. Los resultados del análisis automatizado se pueden mostrar en el editor eclipse del desarrollador individual a través del plugin Eclipse de Sonar.

La documentación arquitectónica en el sonar es bastante escasa. He buscado una foto para visualizar lo que acabo de describir, pero no pude encontrar uno ...

Otros consejos

La arquitectura de "tiempo de ejecución" de Sonarqube tiene varios elementos:

  1. Sonarqube servidor . Contiene una base de datos (por ejemplo, MySQL) y un Servidor web incorporado (Tomcat). El servidor de Sonarqube almacena el resultados de los análisis (las métricas), pero no ejecuta el código análisis. Este servidor proporciona una UI web que muestra el tablero de instrumentos de Los proyectos, varias métricas y profundizan en el código, las opciones de administración. Utiliza una arquitectura enchufable: puede agregar / eliminar función funcional a través de complementos.
  2. programa que ejecuta el análisis del código en la máquina del desarrollador . Hay opciones: (a) Si están usando Eclipse o IntelliJ, pueden usar el complemento respectivo de sonarlint, que proporciona propiedades de configuración, opciones de menú para ejecutar el análisis, una vista para mostrar las violaciones, etc. .; (B) Los desarrolladores también pueden ejecutar el análisis de código a través de Maven (mvn sonar:sonar) o Gradle (gradlew sonarqube); (C) Los desarrolladores pueden ejecutar los diversos análisis de código a través de un programa llamado Sonarqube Runner. Todas estas opciones de programas que ejecutan el análisis en la máquina del desarrollador deben configurarse para comunicarse con un servidor SONARQUBE. Por ejemplo, cuando ejecuta el análisis de código en IntelliJ utilizando SONARLINT, las métricas se cargarán en el servidor. Este servidor suele ser compartido por todos los desarrolladores, pero también puede ser localhost.
  3. programa que ejecuta el análisis del código en el servidor CI / CD . El trabajo / tubería que construye un proyecto de software puede configurarse para ejecutar el análisis de código SONARQUBE. Se puede hacer a través de Maven o se grándose como en la máquina del desarrollador, o a través de un complemento. Hay SONARQUBE CI complementos para Jenkins, Hudson, Bamboo y otros . Dependiendo del tamaño de su proyecto, es posible que desee configurar el análisis del código para que se ejecute una vez al día, y no a cada código de confirmación o cambios a las dependencias. El análisis de código de Sonarqube ejecutado en el servidor CI también se enviará las métricas generadas al servidor SONARQUBE.
  4. La documentación de la arquitectura de Sonarqube es muy pobre (no decir ausente), por lo que es difícil obtener la imagen grande. Espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top