Mi nombre es Ivan Sidorenko, soy ingeniero de pruebas en Digital Design. Mi tarea consistía en implementar el lanzamiento de pruebas automáticas escritas en Java Selenium.
Soy nuevo en CI / CD, así que me encontré con muchos problemas. No encontré instrucciones detalladas en Internet para esta tarea, por lo tanto, después de descubrirlo con la ayuda de nuestros desarrolladores, decidí escribir un manual para los mismos principiantes como yo.
Describí en detalle todos los pasos necesarios para configurar CI / CD usando GitLab, por ejemplo, ejecutando un simple programa HelloWorld escrito usando Java.

Las pruebas automáticas deben ejecutarse cada vez que un desarrollador envía cambios al repositorio de GitLab. Esta tarea corresponde a uno de los principios de CI / CD: el lanzamiento de pruebas automáticas en cada etapa del desarrollo del producto. No describiré el concepto completo de CI / CD en este manual; esta información es fácil de encontrar en Internet.
Pero lo que no hay que encontrar es cómo configurar CI / CD usando GitLab para principiantes, con una descripción de todos los pasos necesarios. Esto se discutirá a continuación.
1. Instale Git y obtenga acceso al repositorio de GitLab
Implementé todo lo necesario para comenzar el proyecto en una máquina remota, pero como el propósito de este manual es familiarizarme con los conceptos básicos de la implementación de CI / CD, trabajaremos en la máquina local.
Vaya a GitLab en la página Proyectos, en la ventana que aparece, haga clic en el botón
Nuevo proyecto
Establezca el nombre del proyecto, establezca el valor Privado en el campo Proyecto de visibilidad y haga clic en el botón verde
Crear proyecto .

Felicitaciones, el proyecto en GitLab ha sido creado.

Ahora necesitamos implementar el repositorio local desde el cual enviaremos los cambios a GitLab. Para hacer esto, primero debe instalar Git, durante la instalación puede seleccionar todos los valores predeterminados. Si no había experiencia con el git y su instalación, le recomiendo que se familiarice con
este curso en
www.youtube.com .
Ahora necesita configurar las variables de entorno de Git user.name y user.email. Tomamos los valores de la página GitLab -> Proyecto / Detalles (obtenemos esta página tan pronto como creamos el proyecto).
git config --global user.name "user name" git config --global user.email "email@examle.com"
Abra Git Bash, para hacer esto, haga clic en cualquier lugar del escritorio y seleccione Git Bash Aquí. Ahora ingresamos estos dos comandos secuencialmente.
Después de eso, debe crear un repositorio local, desde donde empujaremos todos los cambios en GitLab. Para hacer esto, cree una carpeta en la máquina local, vaya a ella, abra Git Bash y ejecute estos comandos secuencialmente (también están disponibles en la página GitLab -> Proyecto / Detalles).
git init
git remote add origin
git init
git remote add origin
aquí especifica la ruta a tu proyectoAhora se ha agregado nuestro repositorio remoto. Pero antes de comenzar a enviar cambios al repositorio de GitLab, debe configurar las claves SSH.
2. Configuración de claves SSH
Se requieren claves SSH para la transferencia segura de datos desde repositorios remotos al repositorio git principal, a través del protocolo SSH. Crea un par de claves.
Abra Git Bash e ingrese:
ssh-keygen -o -t rsa -b 4096 -C email@example.com
En lugar de email@example.com, sustituimos su correo electrónico.
A continuación, recibimos un mensaje donde se guardarán las claves. Aquí solo presionamos Enter. Las claves se guardarán en la carpeta del formulario:
C:\Users\User_name\.ssh
Después de elegir una carpeta, se nos pedirá que ingresemos una contraseña para las claves. Puede omitir este paso presionando Entrar dos veces.
Ahora necesita agregar la clave pública a su cuenta de GitLab. Vaya a la carpeta .ssh y abra el archivo id _rsa.pub id con el bloc de notas. Copie el contenido del archivo y vaya a GitLab. Aquí debe ir a la configuración del usuario (haga clic en el botón en la esquina superior derecha y seleccione Configuración).

Vaya a la sección Claves SSH.
Inserte la clave pública en el campo Clave y haga clic en el botón
Agregar clave .

Ahora necesita guardar la clave privada en la máquina remota. Para hacer esto, ejecute los comandos:
ssh-agent bash ssh-add ~/.ssh/key
donde
clave es la clave privada generada (archivo llamado "id_rsa")
ssh-agent es un programa para almacenar claves privadas utilizadas para la autenticación con claves públicas (en nuestro caso, esta es una clave RSA).
Ahora está listo para insertar archivos en GitLab. Comprueba si todo funciona. Vaya al repositorio que se inicializó anteriormente. Agregue el archivo txt vacío. Después de eso, ejecutamos estos comandos secuencialmente en Git Bash.
git add . git commit -m "Initial commit" git push -u origin master
Vaya a GitLab en la página Proyecto / Detalles y verifique que todo funcione bien.

3. Creando un GitLab Runner (Shell)
Para comenzar proyectos cuando se empuja a gitlab, necesitamos implementar un corredor. GitLab Runner es un agente para ejecutar instrucciones desde un archivo especial .gitlab-ci.yml. Hay varios tipos de corredores. Considere instalar y lanzar uno de los más simples: un corredor de shell.
Shell-runner le permite ejecutar proyectos en la máquina donde está instalado este corredor. Considere instalar este corredor en nuestra máquina local:
1. Cree una carpeta para el corredor, por ejemplo C: \ GitLab-Runner
2. Descargue el corredor desde el enlace:
https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-386.exeCámbiele el nombre a gitlab-runner.exe.
3. Ejecute PowerShell como administrador.
4. Vaya a nuestra carpeta:
cd C:\GitLab-Runner
5. Ingrese el enlace a GitLab. En GitLab, vaya a Configuración-> CI / CD-> Corredores.

6. Ingrese el token:

7. Ingrese una descripción del corredor.
8. Ingrese las etiquetas para el corredor.
9. Elija el tipo de corredor - shell.
10. Instale el corredor:
gitlab-runner install
11. Y corre:
gitlab-runner start
Para verificar que el corredor ha comenzado, vaya a GitLab -> Configuración -> CI / CD -> Corredores. Un círculo verde significa que el corredor está corriendo.

4. Establecer la variable de entorno
Para ejecutar nuestro programa java, necesitamos:
1. Instalar java:
https://java.com/en/download/2. Instale jdk:
https://www.oracle.com/technetwork/java/javase/downloads/index.html3. Establecer variables de entorno.
Para configurar variables de entorno, vaya a:
Mi computadora -> Propiedades -> Configuración de entorno avanzada -> Variables de entorno
Aquí, en la sección "Variables del sistema", cree la variable JAVA_HOME, en la línea "Valor de la variable" escriba la ruta a jdk.

Agregue este valor a la variable Ruta. También debe verificar que haya una ruta para Java.

5. Creación del proyecto y su lanzamiento.
Creemos un proyecto java simple que genere "Hello World!" en la consola Póngalo en nuestro repositorio local. Se verá más o menos así:

Aquí creé un archivo .gitlab-ci con la extensión yml.
Contenido .gitlab-ci.yml image: java:latest stages: - build - execute build: stage: build script: - cd C:\GitAuto\src - javac Main.java artifacts: tags: - first-runner execute: stage: execute script: - cd C:\GitAuto\src - java Main artifacts: tags: - first-runner
Hay dos etapas: construir y ejecutar. Usando el comando javac, compilamos el código fuente, y usando el comando java, lo ejecutamos. En cada paso, debemos indicar explícitamente qué corredor usaremos. El corredor estará determinado por el valor de su etiqueta (puede verlo en la configuración del corredor en GitLab).
Después de configurar el contenido del archivo, vaya al repositorio local y abra Git Bash. Comenzamos a ejecutar secuencialmente los comandos:
git add . git commit -m "Initial commit" git push -u origin master
Se inician los cambios, ahora verificaremos que nuestro programa se haya completado con éxito. Vaya a GitLab -> CI / CD -> Trabajos, abra el último trabajo:

El programa está completo, ¡eres genial!