Tutorial de GitLab CICD con pr谩ctica completa
Cubriendo todas las caracter铆sticas principales de GitLab CICD, te permitir谩 crear un archivo de configuraci贸n eficiente desde cero
Lo que aprender谩s
- C贸mo utilizar GitLab para la creaci贸n de proyectos. Al final de este tutorial, tendr谩s todo lo necesario para utilizar GitLab.鈥贸mo configurar trabajos CICD para tu proyecto para automatizar pruebas y despliegue mediante runners.
- Conceptos del archivo Gitlab-ci .yml – tuber铆as, trabajos, artefactos, almacenamiento en cach茅, variables, scripts antes y despu茅s.
- Conceptos b谩sicos de los runners de CICD, configuraci贸n de runners auto hospedados, etiquetado de runners, configuraci贸n de runners para n煤mero de trabajos, tiempo de espera, etc.
- Optimizaci贸n de la configuraci贸n. Herencia de yaml de otros proyectos y reutilizaci贸n de trabajos de plantilla, reducci贸n de redundancias. Uso de los conceptos de Extends e Include.
- Ejemplos industriales como linting, pruebas unitarias, pruebas de extremo a extremo de proyectos para asegurar que el proyecto es estable.
- Gesti贸n de CICD de repositorios m煤ltiples con pipelines descendentes. Claridad sobre las pipelines de padre-hijo y de varios proyectos.
- Creaci贸n de proyectos de detecci贸n de rostros Yolov3 con trabajos CICD para comprobaciones de lint y pytest con artefactos.鈥dici贸n de subm贸dulos y CICD con subm贸dulos.
Requisitos
- Cubriremos la mayor parte del tutorial directamente en el editor web de GitLab, por lo que no importar谩 el sistema operativo que utilices. Ser铆a 煤til tener un editor de c贸digo como VSCode.
Descripci贸n
Este curso proporciona un entendimiento en profundidad de varios temas alrededor de CICD para que puedas desarrollar pipelines eficientes para tus proyectos. El curso comienza con los conceptos b谩sicos de CICD y luego cubre los temas que se necesitan para aplicaciones industriales t铆picas. Muchos de los trabajos explicados aqu铆 se pueden copiar y pegar simplemente en tus proyectos para servir el prop贸sito, para otros trabajos tendr谩s la suficiente experiencia para implementarlos t煤 mismo con el entendimiento de varios conceptos para la creaci贸n de trabajos. El c贸digo relacionado estar谩 disponible para tu referencia.
Se cubren ejemplos industriales para que obtengas una introducci贸n a los trabajos t铆picos de CICD y su relevancia para mantener los proyectos estables y las implementaciones o entregas r谩pidas. Deber铆as probar estos ejemplos para dominarlos verdaderamente.
Mi pol铆tica es hacer las cosas simples y siempre tener ejemplos simples en cada tema para un r谩pido entendimiento del concepto y luego construir sobre ello a medida que avanzamos. CICD es una bendici贸n cuando se trata de asegurar la estabilidad del c贸digo, cubrir茅 c贸mo configurar las pruebas para que esta estabilidad del c贸digo se logre. Hay muchos v铆deos en YouTube tambi茅n sobre los temas cubiertos aqu铆, pero lo m谩s probable es que ya los domines cuando hayas pasado por este tutorial.
Cada desarrollador deber铆a dominar CICD, no solo los ingenieros de DevOps, para que todos puedan contribuir a la estabilidad del c贸digo, la calidad del c贸digo, la automatizaci贸n de cualquier trabajo repetitivo y la entrega de manera 谩gil. Existe una curva de aprendizaje en entender c贸mo configurar un CICD decente para un proyecto complejo y este tutorial tiene la intenci贸n de facilitar este aprendizaje. Aprende las mejores pr谩cticas y apl铆calas en tus proyectos, te ayudar谩 a ti y a tu organizaci贸n a pasar al siguiente nivel de desarrollo y entrega.
Para una exploraci贸n m谩s profunda de las caracter铆sticas, puedes consultar la documentaci贸n oficial de GitLab. Cubrir茅 c贸mo empiezo t铆picamente a implementar un nuevo trabajo desafiante de CICD, evitando scripts complicados ya que los trabajos complicados son dif铆ciles de leer y de mantener, lo que eventualmente lleva a la eliminaci贸n de ese trabajo, desperdiciando tiempo y esfuerzo. Los trabajos simples son la clave para los archivos de configuraci贸n mantenibles.
Hacia el final del tutorial, hay un estudio de caso de detecci贸n de rostros basada en Yolov3 en GitLab con CICD. Te ayudar谩 a entender los requerimientos reales de CICD en el mundo real.
Tambi茅n se a帽ade el subm贸dulo ya que se utiliza en muchos proyectos. Encontrar谩s pr谩cticas para el mismo.
Para quien es este curso:
- Ingenieros de software que quieran aprender r谩pidamente a utilizar gitlab y los conceptos de cicd con pr谩ctica completa.
-
1. Introduction to SDLC, Agile and CICD
-
2. Setting up CICD for a sample repo in GitLab using Cloud Runners
-
3. Self hosted CICD Runner Installing in your laptop and running a sample job
-
4. Optimizing CICD jobs via Anchors, Include and Extends features
-
5. Industry example of CICD jobs Linting, Unit Testing, End to End Testing
-
6. Downstream Pipelines Parent-Child and Multi Project Pipelines
-
7. Extra-1 Docker CICD for Yolov3 face detection
- 1. Face detection using Yolov3 – introduction
- 2. Tensorflow version change related bug fixes to run face detector
- 3. Push code to GitLab repo
- 4. Adding a simple Docker CICD to repo
- 5. Fixing Tensorflow version issue in CICD
- 6. CV2 import issue fix in CICD
- 7. ChatGpt help for fixing cv2 import issue in docker runner
- 8. CICD run job passed with artifacts
- 9. Pytest job addition to repo for model conversion and face detection
- 10. Pylint job addition for conversion, face detection and test files
- 11. Pytest and Pylint install fix in docker CICD jobs
- 12. Scheduled jobs
-
8. Extra-2 Submodules