Temas de Java - QA CI-CD

Imágen de perfil
Val: 12
Ha aumentado su posición en 9 puestos en Java (en relación al último mes)
Gráfica de Java

.rarQA CI-CDgráfica de visualizaciones


Java

,

Git

,

Maven

Publicado el 13 de Abril del 2019 por Darian
1.958 visualizaciones desde el 13 de Abril del 2019
En los últimos años, la entrega de software ha dado un gran paso hacia adelante gracias a la implementación de la entrega continua. El control de calidad no es una excepción, y la aceleración del control de calidad ha ayudado a acortar los ciclos de entrega y a ofrecer software de mayor calidad.

Una pipeline de control de calidad rápida y confiable generalmente se basa en pruebas de automatización de niveles múltiples e integración continua estable, que ejecuta todas estas pruebas diariamente en diferentes entornos de prueba. No hace mucho, configurar y mantener un flujo de trabajo completo, fue un gran desafío. Pero las innovaciones que están ocurriendo en las metodologías de control de calidad y las aplicaciones de infraestructura ahora le permiten pasar un tiempo mínimo en este frente, para que pueda concentrarse más en su aplicación.


QA Automation Pipeline
CI-CD
GitLab-Ci
⦁ Entorno
⦁ Requisitos
⦁ Server Runner
Ubuntu 18.04 LTS (GNU/Linux 4.15.0-43-generic x86_64
4GB Ram
50 GB Disk
⦁ Server SonarQube
Ubuntu 18.4 LTS
25 GB Disk
4GB Ram
⦁ Gitlab versión 11.6
https://about.gitlab.com/2018/12/22/gitlab-11-6-released/

⦁ Tecnologías
⦁ Docker versión 18.09.0 Build
⦁ Java Version 1.8.0_091
⦁ Apache Maven 3.5.2
⦁ Configuración
⦁ Server
⦁ Java
⦁ sudo add-apt-repository ppa:webupd8team/java
⦁ sudo apt update
⦁ sudo apt install oracle-java8-set-default
⦁ Java -version
⦁ Docker
⦁ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
⦁ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
⦁ sudo apt-key fingerprint 0EBFCD88
⦁ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
⦁ sudo apt-get update
⦁ sudo apt-get install docker-ce
⦁ sudo groupadd docker
⦁ sudo gpasswd -a $USER docker
⦁ newgrp docker
⦁ docker run hello-world
⦁ Maven
⦁ Descargar Binario desde la página oficial https://maven.apache.org/download.cgi
⦁ cd /opt/ wget http://www-eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
⦁ sudo tar -xvzf apache-maven-3.3.9-bin.tar.gz
⦁ sudo mv apache-maven-3.3.9 maven
⦁ sudo nano /etc/profile.d/mavenenv.sh
⦁ Agregar las siguientes líneas:
⦁ export M2_HOME=/opt/maven
⦁ export PATH=${M2_HOME}/bin:${PATH}
⦁ sudo chmod +x /etc/profile.d/mavenenv.sh
⦁ sudo source /etc/profile.d/mavenenv.sh
⦁ mvn --version

⦁ Runner Gitlab-ci
⦁ Instalar Gitlab Runner
⦁ ssh [email protected] - Password:xxxxx
⦁ Sudo gitlab-runner register
⦁ sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runne -linux-amd64
⦁ sudo chmod +x /usr/local/bin/gitlab-runner
⦁ curl -sSL https://get.docker.com/ | sh
⦁ sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
⦁ sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
⦁ sudo gitlab-runner start


⦁ Register Runner server
⦁ ssh [email protected] - Password:xxxxx
⦁ Sudo gitlab-runner register
⦁ Ingresamos nuevamente la Password:xxxxxxx
⦁ Nos pide url Gitlab > Seleccionamos nuestro proyecto > Settings en la parte inferior izquierda > CI - CD > Runner Expand
(Se debe tener los permisos de Owner. Master o Maintainer)
⦁ Ingresamos el Token
⦁ Ingresamos una descripción
⦁ Si dejamos el tag en blanco y le damos enter lo deja por defecto, que significa que nos va a tomar cualquier cambio en el git origin
⦁ Seleccionamos el executor (docker)
⦁ Luego nos pide la imagen donde lo vamos a ejecutar, ya que por lo general va a ser un docker
⦁ Gitlab-ci.yml
Crear un documento en la raíz del proyecto con el nombre .gitlab-ci.yml, este archivo le dice al Runner de Gitlab que hacer. De forma predeterminada se ejecuta un Pipeline determinado con 3 stage: Build, Test y deploy. Los stages sin jobs son simplemente ignoradas.
Teniendo los runner y el archivo gitlab-ci.yml en la raíz del proyecto bien configurada cada push o modificación que hagamos dependiendo la configuración que hayamos escogido en los tags comienza a correr los Pipeline.
⦁ Badges
Configurar un badged es bastante sencillo. Solo debemos tener configurado el CI-CD de manera correcta, para que se muestre.
Gitlab > Select your project > Settings > General > Badges Expand
⦁ Link
http://git.xxxxx.com.ar/xxxxx/api-template/pipelines
⦁ Badge image URL
http://git.xxxxxx.com.ar/xxxxx/api-template/pipelines
⦁ add badge

⦁ Resultados
⦁ GitLab Pipeline
Para poder observar un poco más en detalles nuestros CI-CD solo basta con hacer un click en nuestro badge de CI-CD en nuestro repo del proyecto o bien podemos hacer click en sidebar del lado izquierdo en CI/CD > Pipeline.
Se ve de la siguiente forma:

⦁ SonarQube
Ingresar al servidor de SonarQube
⦁ xxxxxxxxxxxxx
⦁ User: xxxxxx
⦁ Pass: xxxxxxx
Una vez dentro del Server de sonarqube, le explicaremos resumidamente de qué estamos hablando cuando decimos sonarqube. Sonarqube es una plataforma de código abierto que sirve para el análisis de calidad del código. Utiliza diversas herramientas de análisis estático de código fuente como Checkstyle, PMD o FindBugs, obteniendo métricas que ayudan a mejorar la calidad del código fuente.

⦁ Clover Coverage
Ingresar al servidor de Clover Coverage

Para la cobertura del código usamos Open Clover https://openclover.org/ el cual nos brinda como característica principal la medición del código, además cuenta con herramientas que nos permiten obtener Métricas de riesgos y la complejidad ciclomática.
Les dejo unas imagen de como se visualiza el reporte de OpenClover:

Si alguno de los archivos de descarga no funciona, comentanos aquí el error.




Comentarios... (1)

Imágen de perfil
13 de Abril del 2019
estrellaestrellaestrellaestrellaestrella
Muy interesante!!! voy a probarlo!!!

Te has dejado de publicar las imágenes!!!
Responder

Comentar

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/t9964