Está en la página 1de 19

SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD

VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 1 de 19
20/11/17

1. OBJETIVO:

Establecer e implementar herramientas de integración continúa para la


medición de calidad y deuda técnica de los proyectos de desarrollo de software
de los estudiantes de la facultad de Ingeniería de Sistemas de la Institución
Universitaria Antonio José Camacho, en la calidad de desarrollo dirigida, que
hagan parte de un proyecto.

2. ALCANCE

Este procedimiento aplica para el desarrollo de software requerido por las


unidades académicas y/o administrativas, que se elabore en sitio o a través del
desarrollo de proyectos de grado que estén bajo supervisión de un equipo de
investigación y aplica para estudiantes practicantes, becarios de investigación,
estudiantes de proyecto de grado y estudiantes que conformen el semillero de
investigación.

3. DEFINICIONES

ANDROID: es el nombre de un sistema operativo que se emplea en


dispositivos móviles, por lo general con pantalla táctil. De este modo, es posible
encontrar tabletas (Tablets), teléfonos móviles (celulares) y relojes equipados
con Android, aunque el software también se usa en automóviles, televisores y
otras máquinas.

BITBUCKET: es un servicio de alojamiento basado en web, para proyectos que


manejar el sistema de versiones de código.

GIT: Git es un sistema de control de versiones distribuidas de código abierto y


gratuito diseñado para manejar todo, desde proyectos pequeños a muy
grandes, con velocidad y eficiencia

GRADLE: Gradle es una herramienta de automatización de la construcción de


nuestro código que bebe de las aportaciones que han realizado herramientas
como Ant y Maven.

Sass (Syntactically Awesome Style Sheets) o CSS con súper poderes, es una
excelente herramienta escrita en Ruby que nos permite crear hojas de estilos
estructuradas, limpias y fáciles de mantener.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 2 de 19
20/11/17

IONIC: es una herramienta, gratuita y open source, para el desarrollo de


aplicaciones híbridas basadas en HTML5, CSS y JS. Está construido con Sass
y optimizado con AngularJS.

INTEGRACION CONTINUA: es una práctica de desarrollo de software


mediante la cual los desarrolladores combinan los cambios en el código en un
repositorio central de forma periódica, tras lo cual se ejecutan versiones y
pruebas automáticas.

JENKINS: es un software de Integración continua open source escrito en Java.

SONARQUBE: SonarQube es una plataforma de código abierto para realizar


revisiones automáticas con análisis estático de código para detectar errores,
olores de código y vulnerabilidades de seguridad en más de 20 idiomas de
programación, incluidos Java, C #, JavaScript, TypeScript, C / C ++, COBOL y
más.

REQUERIMIENTOS

Software para la configuración de integración continúa en proyectos Android.

- Xampp.
- SonarQube.
- Jenkins.
- Bitbucket.
- Git.

Para instalar o configurar los anteriores programas, consulte el documento.


Consulte aquí.

4. CONFIGURACION.

Sonar-Runner: Descargar y descomprimir en la raíz del sistema.


https://docs.sonarqube.org/display/SONARQUBE45/Installing+and+Config
uring+SonarQube+Runner .

Configurar el archivo C:/sonar-runner/conf/sonar-runner.properties.ejemplo


notas.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 3 de 19
20/11/17

Gradel: Descargar y descomprimir en la raíz del sistema.


https://gradle.org/releases/ .

5. CONFIGURACION DE JENKINS

Verificar el puerto que está utilizando Tomcat para la aplicación de Jenkins, ver
la imagen a continuación.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 4 de 19
20/11/17

- Se abre el navegar de internet de su preferencia y se digita la url


localhost:8080/Jenkins.

- Las credenciales para el acceso son:

Usuario: SmartCampus.
Contraseña: Jenkins.

Al ingresar se muestra la siguiente ventana.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 5 de 19
20/11/17

Instalar los plugins necesarios para el proyecto, si ya se ha configurado un


proyecto de las mismas características, para el desarrollo de este ejemplo,
ingresamos en Administrar Plugins.
En el campo Filtrar se digita el nombre del plugin que se necesita para el
proyecto.

En el ejemplo de Android, Bitbucket, Gradle y Sonar, se deben instalar:


- Gradle Plugin
ELABORADO POR: REVISADO POR: APROBADO P1OR:
Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 6 de 19
20/11/17

- SonarQube Scanner for Jenkins


- Bitbucket Plugin
- JDK Plugin.

Oprimir el botón Instalar sin reiniciar y regresar al panel principal.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 7 de 19
20/11/17

Ingresar en Administrar Jenkins.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 8 de 19
20/11/17

Configurar el Sistema

Configurar en Propiedades globales. La ubicación del archivo SDK y


seleccionar el campo Variables de entorno.

Configurar SonarQube Servers

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 9 de 19
20/11/17

Name: Sonar

URL des servidor: http://localhost:9000

Server Version: 5.2

SonarQube account Login: admin

SonarQube account Password: admin.

Configurar SDK de Android

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 10 de 19
20/11/17

Por ultimo clic en Apply y Guardar.

Regresamos al panel principal y se ingresar a Global Tool Configurations.

Configurar el JDK de JAVA.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 11 de 19
20/11/17

Configurar Git

Configurar Gradle.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 12 de 19
20/11/17

Configurar sonar Scanner

Aplicar y guardar.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 13 de 19
20/11/17

Cuando se ha configurado el Jenkisn, se selecciona Nueva Tarea.

Asignar un nombre a la tarea.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 14 de 19
20/11/17

Ingresar al proyecto creado.

Clic en configurar.

Configurar el repositorio del proyecto o el versionador de código.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 15 de 19
20/11/17

En el repositorio URL, se debe ingresar el enlace donde está almacenado el


proyecto en el repositorio.

En credenciales puede agregar el usuario y contraseña del repositorio.

Configurar el Gradel.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 16 de 19
20/11/17

Configurar Execute SonarQube Scanner

En el campo analysis properties debe ingresar la información correspondiente a


el proyecto, a continuación se detalla el ejemplo.

#----- Default SonarQube server


sonar.host.url=http://localhost:9000

# DATABASE
# User credentials.
sonar.jdbc.username=postgres

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 17 de 19
20/11/17

sonar.jdbc.password=postgres

#----- PostgreSQL 8.x/9.x


sonar.jdbc.url=jdbc:postgresql://localhost:9000/sonar

#----- Default source code encoding


sonar.sourceEncoding=UTF-8

#------ Project
sonar.projectKey=login_notas
sonar.projectName=login_notas
sonar.projectVersion=1.0.0
sonar.sources=C:/Users/Auxiliaresadm/.jenkins/workspace/notas/app/src/main
sonar.projectBaseDir=C:/Users/Auxiliaresadm/.jenkins/workspace/notas
sonar.language=java

#----sonar.sources=src/main/java
sonar.java.binaries=C:/Users/Auxiliaresadm/.jenkins/workspace/notas/app/build

# ----java version used by source files:


sonar.java.source=1.8

Ahora aplicamos y guardamos.

Ejecutamos Construir ahora, en la siguiente imagen está señalado con el


numero uno (1), luego aparece una barra de estado donde se muestra el
análisis que se está realizando al proyecto, está señalado con el numero dos (2)
y en el número tres (3), se muestra el link de SonarQube, para acceder a los
resultados y graficas del análisis

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 18 de 19
20/11/17

El principal objetivo de la integración continua es el análisis del proyecto, por lo


cual se debe dar clic al link de SonarQube, para revisar los reportes generados
y realizar las mejoras o corregir los errores, a continuación se encuentran los
enlaces para abrir los respectivos documentos.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017
SISTEMA INTEGRADO DE GESTIÓN DE CALIDAD
VERSIÓN CÓDIGO
PROCESO INTEGRACION No. 1.0 RFT-O-1
CONTINUA CON JENKINS,
GRADLE Y SONAR FECHA EDICIÓN
Página 19 de 19
20/11/17

1. Dashboard. Es la página principal y detalla de forma general cada uno de


los aspectos evaluados en el proyecto.
- Bugs. Muestra los posibles errores en la escritura de código.
- Seguridad. Fallos producto de librerías obsoletas, variables declaradas
publias y deben ser privadas.
- Mantenibilidad. Es también la deuda técnica del proyecto, tiempo
estimado en la corrección del código.
- Cobertura. O complejidad ciclomatica, es una medida cuantitativa de la
dificultad para crear pruebas automáticas al código.
- Duplicaciones. Se presenta con variables, métodos o clase, que estén
repetidas.

ELABORADO POR: REVISADO POR: APROBADO P1OR:


Nombre: Ronal Andrés Tamayo Nombre: Diana Carolina Rodríguez Nombre: Carlos Rodríguez
Zapata. Cargo: Calidad y Mejoramiento Cargo: Director de DTIC
Cargo: Fecha: 27/03/2017 Fecha: 27/03/2017
Fecha: 27/03/2017

También podría gustarte