CI/CD con Jenkins - curso 35.000 rublos. de Slurm, formación 8 lecciones, fecha 28 de noviembre de 2023.
Miscelánea / / November 28, 2023
Este es un curso centrado en el uso práctico de Jenkins. Contendrá muchos ejemplos de mi práctica personal.
Vayamos de lo simple a lo complejo. Primero, veremos las áreas de aplicación de Jenkins y los diferentes tipos de canalizaciones, luego echaremos un vistazo a la biblioteca compartida de Jenkins y veremos la integración con Kubernetes.
Mi objetivo es compartir mi experiencia y ayudarte a evitar cometer los errores que yo cometí al comienzo de mi viaje.
Este curso profundizará su conocimiento sobre cómo trabajar con Jenkins. Todo lo que cubrimos durante la formación, podrás ponerlo en práctica inmediatamente.
Conceptos básicos de CI/CD
Aprenderá qué área problemática puede resolver CI/CD. Podrá comparar los problemas actuales en su trabajo con la funcionalidad CI/CD.
Teoría:
- Historia de CI/CD
- Necesidad de uso, repetibilidad de los conjuntos.
- Bucle de retroalimentación
- Entropía sin automatización (errores humanos)
- Mejores prácticas
- Cómo no hacerlo
Conceptos básicos de Jenkins
Comprenderá la lógica de las decisiones arquitectónicas de otras personas y comprenderá la estructura de directorios en Jenkins. Aprenda a instalar Jenkins y realizar la configuración básica.
Teoría:
- ¿Qué problemas resuelve Jenkins?
- Arquitectura de nivel superior: maestro-esclavo
- Estructura de directorios en Jenkins master (credenciales, espacio de trabajo, registros)
- Instalación de un servidor en Linux (centos)
- Diferentes opciones para ejecutar Linux en Docker
Práctica:
- Instalar y configurar el servidor Jenkins utilizando cualquiera de los métodos analizados en la lección.
Administración de Jenkins
Aprenderá cómo instalar complementos y realizar configuraciones básicas, agregar nodos trabajadores adicionales y configurar herramientas de configuración. Comprenderá cómo crear credenciales y diferenciar los derechos de acceso en Jenkins.
Teoría:
- Agregar agentes esclavos
- Trabajar con herramientas
- Seguridad en Jenkins
- Métodos para delimitar derechos.
- ¿Por qué necesitamos complementos y opciones para instalarlos?
Práctica:
- Instalación del complemento y configuración de herramientas adicionales. Agregar un token de GitLab a las credenciales.
Implementación (2 lecciones)
Aprenderá cómo elegir el tipo correcto de canalización para organizar el proceso de CI/CD y configurar un entorno de trabajo para desarrollar y probar la canalización. Comprenderá cómo crear un trabajo con parámetros, trabajo de estilo libre, canalización declarativa y canalización con script.
Teoría:
- Tipos de tuberías
- VScode + IdeaIJ
- Activo reactivo + elección extendida con guiones de ritmo
Práctica:
- Creando una tubería
Integraciones con Jenkins
Aprenderá cómo configurar la integración de canalización con SAST Sonarqube y la notificación por correo electrónico, Telegram y Slack.
Teoría:
- Integración con Sonarqube: ¿qué es y por qué?
- Integración con jforg: ¿qué es y por qué?
- Métodos de notificación sobre los resultados de la ejecución del pipeline.
Práctica:
- Configurar un canal con envío de resultados
Desarrollo en Jenkins
Aprenderá las áreas de aplicación de Jenkins Shared Library y Jenkins Template Engine, y aprenderá a crear JSL simple.
Teoría:
- Veamos dos enfoques usando ejemplos:
- Biblioteca compartida de Jenkins y motor de plantillas de Jenkins
Práctica:
- Crear una biblioteca compartida de Jenkins simple
Mejores practicas
Aprenderá cómo configurar una canalización utilizando Blue Ocean y crear una configuración de Jenkins como código.
Teoría:
- Forma DevOps de almacenar la configuración de Jenkins
Práctica:
- Configurar una tubería usando Blue Ocean
- Crear una configuración como código e instalar Jenkins desde ella
Jenkins en Kubernetes
Aprenderá cómo configurar la integración de Jenkins y Kubernetes. Comprenderá cómo configurar una canalización para utilizar agentes dinámicos en Kubernetes.
Teoría:
- Integración de Jenkins y Kubernetes
Práctica:
- Configurar la integración de Kubernetes
- Configurar una canalización utilizando agentes dinámicos
Preparación para el examen
Considerará varias opciones para tareas que pueden incluirse en las entrevistas.
Tarea final
Recibirá 2-3 repositorios (frontend y backend). La tarea es elaborar el proceso CI/CD. La tarea ayudará a determinar el nivel de crecimiento de habilidades.