Estadísticas del temas: QA CI-CD - Java

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-CD


Java

,

Git

,

Maven

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 13 de Abril del 2019 por Darian
1.948 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:

45 visualizaciones durante los últimos 90 días


12
0