Devops y cloud con azure devops, app service pipelines y git
- Descrição
- Currículo
- FAQ
- Revisões
Aprenderás todo lo necesario para poder configurar un entorno de azure DevOps desde al creacion de la cuenta hasta el trabajo con repositorios git y pipelines.
El curso esta pensado para trabajar con infraestructuras cloud, nos centraremos en relalizar la mayoría de tareas en la infraestructura cloud de Azure Devop y Azure portal, asi que si ya tienes bases en DevOps o vas a empezar de cero este curso es para ti porque tratamos DevOps con un efoque nuevo y una suite totalmente cloud.
Aprende sobre integración continua y despliegue continuo, pipelies, gestión de repositorios git con trunk base gitflow y mucho mas.
Aprenderás a implementar pruebas unitarias en el código fuente para validar el código y contribuir al proceso de integración continua y entrega continua.
Voy a enseñarte a crear imagenes personalizadas en docker y como crear y administrar repositorios de imágenes similar a docker hub.
Veremos como trabajar con metodología gitflow para la correcta estructuración y administración del repositorio de código, Aprenderás a trabajar de manera correcta con git.
Tambien comprenderás los principales conceptos de DevOps como Integracion continua (CI) , Despligue continuo (CD) y mucho más.
Vamos a crear pipelines para automatizar el proceso de validación de código mediante la ejecución de pruebas unitarias cada vez que se hace un push y un Merge Request a un repositorio de código.
-
1¿Que es Azure DevOps?Vídeo Aula
-
2MUY IMPORTANTE: Cómo debes hacer este curso, evitar errores y otros consejosVídeo Aula
Te damos las recomendaciones para abordar de manera exitosa el curso y alcanzar tus objetivos, también comentamos porque es importante para ti una buena calificación en el curso, dado que esto ayuda a mantener el curso vigente y que puedes beneficiarte de actualizaciones y nuevos contenidos.
-
3Crear una cuenta gratuita en azure cloudVídeo Aula
-
4Realizar upgrade de la cuenta de azureVídeo Aula
-
5Empezar con Azure DevOps: Crear una organización y un proyectoVídeo Aula
-
6Limites de la capa gratuita, precios y facturaciónVídeo Aula
-
7Solicitar paralelismo a microsoft para ejecutar pipelinesVídeo Aula
Para las cuentas gratis de azure devops, creadas a partir del 16 de marzo de 2021, es necesario solicitar paralelismo a microsoft mediante formulario de solicitud para poder ejecutar pipelines.
-
8Invitación a unirte a la comunidad de trabajo colaborativo en DiscordVídeo Aula
Con esta herramienta podremos trabajar de manera colaborativa para compartir soluciones a los principales problemas, hacer networking, interactuar con otros estudiantes y explorar diferentes posibilidades y beneficios de las herramientas de trabajo colaborativo.
-
9Planificar la agrupación de usuarios y permisos, Diagramas de seguridadVídeo Aula
Se presenta el diagrama para comprender como azure DevOps adminsitra la seguridad y se explica la importancia de hacer una buena planificacion de la seguridad.
-
10Crear y administrar usuarios en una organizaciónVídeo Aula
Antes de iniciar el trabajo con repositorios es importante aprender a crear usuarios, grupos y administrar la seguridad.
-
11Crear y administrar permisos y grupos en una organizaciónVídeo Aula
Los permisos se administran mediante grupos a los cuales se agregan los usuarios, en esta clase apenderás como realizarlos.
-
12Crear equipos dentro de los proyectos y agregar usuarios en y restriccionesVídeo Aula
-
13Configurar y administrar seguridad en los repositoriosVídeo Aula
-
14Registrar un usuario con rol developer y asignarlo al team de un proyectoVídeo Aula
-
15Que es un repositorio git y principales metodologias (git flow y trunk base)Vídeo Aula
Entenderás las principales metodologias que existen para gestionar repositorios y porque es importante tenerlas en cuenta antes de crear un repositorio.
Se explica el planteamiento del curso y los repositorios que manejaremos en el curso.
-
16Gtiflow: Metodología, estructura, flujo de trabajo y cuando implementarlaVídeo Aula
Aprende sobre el flujo de trabajo la estructura del repositorio cone sta metodologia y los aspectos claves para su elección e implemetnación
-
17Trunk based: Metodología, estructura, flujo de trabajo y cuando implementarlaVídeo Aula
Aprende sobre el flujo de trabajo la estructura del repositorio cone sta metodologia y los aspectos claves para su elección e implemetnación
-
18Inicializar un repositorio con rama main y develop y crear royecto básicoVídeo Aula
-
19Instalar cliente Git , IDE Visual estudio Code y extensiones de utilidadVídeo Aula
-
20Crear personal access token en azure DevOps para interactuar con el repositorioVídeo Aula
-
21Clonar repositorio y configuración de autenticación del cliente git con el tokenVídeo Aula
-
22Explicación del caso de estudio y código fuente para la practicaVídeo Aula
Presentar el caso de estudio para la creación del respositorio git con metodología gitflow y explicar el camino que se prentende seguir a lo largo del camino del curso de azure devops. En esta clase se deja disponible el código fuente para la descarga.
-
23Crear repositorio del código fuente en local y sincronizarlo con azure DevOpsVídeo Aula
Convertir el repositorio de código fuente en un repositorio git y sincronizarlo con el repositorio remoto de azure devops.
-
24Crear un pipeline simple para compilar el código fuenteVídeo Aula
En esta clase crearemos un pipeline sencillo para compilar el código fuente de la libreria, se explican los pisibles errores y se analiza el resultado de la ejecución del pipeline.
-
25Crear ramas principales recomendadas por la metodología gitflowVídeo Aula
Se recapitula la metodología del flujo de trabajo gitflow y se crean la ramas principales y se envian al repositorio central.
-
26Ralizar modificaciones al repo con gitflow para validar triggers del pipelineVídeo Aula
Se explica como realizar algunas modificaciones senciallas en las diferentes ramas con el objetivo de crear conflictos en las ramas y enseñar como resolverlos en las clases posteriores cuando usamos metodologia gitflow. Además se comprueba que solo se dispara el pipeline cuando se hace un cambio en la rama main.
-
27Crear pull request y gestionar conflictos en azure DevOps con gitflowVídeo Aula
-
28Resolver conflictos con git desde el IDE y actividad práctica propuestaVídeo Aula
-
29Nueva feature, Integrar y eliminar ramas temporales (Short-lived Branches)Vídeo Aula
-
30Multimples desarrolladores, como crear nuevas ramas y realizar mergeVídeo Aula
-
31Flujo correcto de gitflow, integración en develop y limpieza de ramas temporalesVídeo Aula
-
32Crear una release con gitflow e cambiar los trigger en el pipelineVídeo Aula
-
33Crear feed en azure artifacts para publicar la libreria common desde el pipelineVídeo Aula
Preparar el repositorio (feed) de azure artifacts para poder realizar la publicacion en automatico del hjar desde el pipeline, adicional crear una rama nueva de release para la modificacion del pipeline.
-
34Publicar artifact con maven: refactorizar pipeline para publicar en el feedVídeo Aula
Se modifica y explica los pasos necesarios para publicar un artefacto usando maven (.jar), adicional se explica porque es necesario un paso adicional para incluir un repository en el pom.xml de cada proyecto.
-
35Publicar artifact con maven: Incluir el repository del feed en el pom.xmlVídeo Aula
Para publicar el artefacto en el repositorio de azure artifacts, es nececesario modficar el pom.xml de cada proyecto para incluir la conexion hacia el feed, adicional tambien se explica como se usará posteriormente el common library en otros proyectos en clases posteriores.
-
36Consumir un artifact con maven: Crear proyecto billing y configurar maven localVídeo Aula
-
37Consumir un artifact con maven: conectar billing al feed, decargar y compilarVídeo Aula
-
38Agregar método en billing con la clase person del artifact common libraryVídeo Aula
Clase opcional en la que se explica como usar la clase person de la libreria common library obtenida de azure artifacts en el servicio billing.
-
39Iniciar la plicación y probar funcionalmente el método get personVídeo Aula
-
40Primer reto prácticoTexto
-
41Revision de la ultima practica y consejos sobre revision consumo capa gratuitaVídeo Aula
Explicamos como debe quedar el repositorio y los pipelines tras la finalización de la sección anterior y la actividad practica antes de continuar, se deja como recurso el pipeline de billing. Tambien se dan alguans recomendaciones para revisar el consumo de la capa gratuita y evitar costos inesperados.
-
42Estructura de un pipeline (stages, jobs, agents, task, scripts)Vídeo Aula
Explicación de los principales conceptos de la estructura correcta de un pipeline para que sea mas facil comprenderlos a medida que aumenta la complejidad en los mismos. tambien se explica que diferentes josbs pueden ser ejecutados en diferentes agents lo que implica que pueden crearse ficheros en diferentes máquinas que si se van a usar en un agent diferente donde se ha creado debe ser transferido.
-
43Refactorizar la estructura del pipeline billing y agregar tarea coppyVídeo Aula
Se refactoriza el pipeline para que tenga la estructura correcta y se agrega una tarea para copiar el jar en un repositorio de pipeline para que sea accesible y se pueda descargar.
-
44Comprimir el target y publicar jar del proyecto billing (task compres, publish )Vídeo Aula
Se incluye tarea de comprimir y publicar el jar, se descarga y se hace una prueba de validacion de la aplicación, se deja como recurso la ultima version del pipeline.
-
45Crear un app service plan en azure portal para desplegar la appVídeo Aula
Se explica como crear un plan de app service, los planes y los detalles para crearlo de maenra gratuita.
-
46Conectarse al App service via ftp y validar funcionamientoVídeo Aula
Explicar los detalles a tener en cuenta para validar que el appservice ha sido configurado de manera correcta y como poder realizar una coneccion via ftp para comprobar el filesystem del appservice
-
47Crear un service connection desde azure devops hacia el app serviceVídeo Aula
Los services connections son caracteristicas que nos ofrece azure devops para poder realizar acciones en infraestructura remota como poder desplegar aplicaciones, en esta clase crearemos un service connection al app service.
-
48Crear un pipeline de release para deplegar billing en el app serviceVídeo Aula
-
49Revisar el despliegue y comprobar la aplicación billing en el app serviceVídeo Aula
Con esta clase finalizamos el despleigue de la app en el app service y revisamso que todo funciona correctamente.
-
50Introduccion a la unidad, Azure registry container costos y planesVídeo Aula
Presentar el objetivo d elo que se hará en la unidad y dar algunos consejos sobre las revisiones de costos de los serivcios que ofrece azure y lo límites de la capa gratuita.
-
51Crear y configurar un repositorio para docker en azure registry containerVídeo Aula
Se explica como crear y configurar un repositorio para las imagenes de docker en azure cloud y tambien se enseña como escoger el plan adecuado y activar las credenciales de usuario para interacturar con el repositorio.
-
52Crear y configurar un app service para desplegar un contenedor de dockerVídeo Aula
Los appservies se configuraran de manera especifica en dependencia del tipo de aplicaciones, aqui enseñamos como configurar un appservice de docker y los respectivos parametros de puertos especificos y la conexión con el repositorio de docker.
-
53Crear service connection azure devops a cloud para el repositorio de dockerVídeo Aula
Se ecplica como conectar la suite de azure devops al repositorio de docker container registry de azure para poder enviar las imagenes generadas por los pipelines.
-
54Definir una imagen de docker para el servicio de billingVídeo Aula
Se explican los principales conceptos de unaimagen de docker y se define el fichero docker file
-
55Refactorizar pipeline con tareas docker para construir y publicar al registryVídeo Aula
Se incluyen las principales tareas al pipeline de billing para construir la imagen de docker y enviarla al repositorio de imágenes de azure registry container
-
56Ejecución del pipeline y publicación de la imagen docker en el registryVídeo Aula
Se hace una revision de la ejecución del pipeline, se comentan los principales aspectos a revisar y se evidencia que la imagen se ha publicado en azure registry container
-
57Construir un pipeline de release para deplegar la imágen docker en el appserviceVídeo Aula
Crearemos un pipeline tipo release para desplegar el contenedor de docker del servicio billing en el appservice de docker usando el service connection, la platilla de la imágen y la refactorización del pipeline de billing, aqui es donde converge todo lo visto anteriormente.
-
58Incluir cache en los pipelines para reducir tiempo de ejecuciónVídeo Aula
Dentro de los pipelines tenemos la opcion de incluir una cache para las tareas que toman mayor tiempo d elos pipelines y que son repetitivas, como la descarga de dependencias, aqui realizamos un ejemplo para cachear la descarga de dependencias de maven, pero puede aplicarse a cualquier leguage con las respectivas particularidades de cada caso.
-
59Trunk-based y consideraciones importante de limitaciones con la capa gratuitaVídeo Aula
Recapitulación sobre la metodologia trunkbase, el caso de estdudio, los pasos a realizar para automatizar la release y algunas consideraciones importantes a tener encuetna con la capa gratuita de azure devops y azure cloud.
-
60Crear trigger basado en el repositorio docker para automatizar la releaseVídeo Aula
En esta clase veremos como automatizar nuestro trigger de release para que se ejecute automaticamente y depliegue el app service cuando se detecte una nueva version de la imagen docker en el repositorio de contenedores.
-
61Entrega continua CD, agregar nueva feature y comprobar release automáticaVídeo Aula
-
62Cerrar feature y crear tag de release siguiendo la metodologia trunk-basedVídeo Aula
-
63Entrega continua y trunk-basedVídeo Aula
Se ofrece un pequeño overview de la relación que existe entre la metodologia de flujo de trabajo con repositorios git trunkbased y el concepto de integración y entrega continua, adiconalmente se repasa el route map del curso.
-
64Diseño de un pipeline de integración y despliegue continuo (CI/CD)Vídeo Aula
DAmos una explicación en detalle de la estrucutra de un pipeline de entrega continua con la metodología trunkbased y que será la base para el desarrollo de la unidad.
-
65Versionado semantico (SemVer) y versionado basado en el número de compilaciónVídeo Aula
Existen diferentes estrategias para administrar el versionado de los objetos y aplicaciones, explicamos en que consiste el versionado semantico y el versionado basado en el numero de compilación y cuando utilizar cada uno, adicionalmente se comenta la documentación recomenda que se deja como material de apoyo.
-
66Instalar y configurar la extención de Gittools para el versionado automáticoVídeo Aula
Enseñamos como integrar la extencción de gittolls para el versioando automático y las respectivas configuraciones de seguridad.
-
67Agregar tareas de versionado automático en pipeline del proyecto commonVídeo Aula
Se realiza una modificación al pipeline del proyecto common para validar el uso de la extención de gittools y la configuracion del cliente de git en agent donde se ejecuta el pipeline.
-
68Generar nueva version de la libreria common usando gitVersionVídeo Aula
Se modifica el pipeline del common para agregar la variable semVer en la tarea de maven y publicar una nueva versión de la libraria, adicionalmente se comprueba como realizar el cambio de versión de la libreria en las dependencias del proyecto billing.
-
69Crear un Tag de manera automática desde el pipelineVídeo Aula
Seguimos automatizando tareas dentro del pipeline con el obetivo de conseguir la integración continua y entrega continua, en este caso agregamos un tag de maenra automatica con git cuando se ejecuta el pipeline.
-
70Tarea 2 Segundo reto prácticoTexto
-
71Que es Slack y como crear una cuenta en esta plataformaVídeo Aula
Veremos como crear una cuenta gratuita en slack y algunas recomendaciones.
-
72Instalar azure repos y pipelines en slack y creación de canales de notificaciónVídeo Aula
Enseñar como crear canales de notificación en slack e instar las aplicaciones requeridas para conectarnos con azure DevOps
-
73Autenticar slack con azure repositories y suscribirse a un proyectoVídeo Aula
autenticar el boot de azure repos en slack contra la organizacion de azure devops y mostrar como realizar la suscripcion a los eventos de los repositorios de un proyecto
-
74Configurar notificaciones en azure repos desde slackVídeo Aula
Ralizar la confguracion de las notificacioens especificas a eventos de los repositorios de código
-
75Configurar notificaciones de azure pipelines desde slackVídeo Aula
Realizar la autenticación y subscripcion a notificaicones de los eventos de los pipelines
-
76Modificar pipeline del proyecto billing y probar notificaciones en slackVídeo Aula
Realizar un cambio en el codigo en una rama feature, con el objetivo de tener una preuba compelta de las notificaiones en los respectivos canales de slack
-
77Notificaciones de eventos pull request y recomendaciones de diseño de pipelinesVídeo Aula
Independizar las notificaciones de tipo pullrequest en un canal especifico y dar recomendacioenes sobre el diseño de pipelines.
-
78Condiciones en los pipelines, Quality gates y pruebas unitariasVídeo Aula
Dar un pequeño overview sobre las preubas unitarias y los quality gates que se deben incluir en los pipelines y enseñar como incluir condiciones en los pipelines entre los diferentes jobs, steps o tareas.
-
79Introducción a la sección, que es sonarcloudVídeo Aula
Breve introducción a sonar cloud.
-
80Configurar sonarcloud y crear organización espejo desde azure DevOpsVídeo Aula
Vamos a crear la cuenta en sonar cloud, importar una organizacion espejo desde azure devops y escojer un plan de preuba en sonarcloud para poder trabajar con repositorios privados.
-
81Crear service connection de sonarcloud para el proyecto billingVídeo Aula
Es necesario configurar un service connection entre azuredevops y sonarcloud para poder configurar las tareas de analisis de código en el pipeline.
-
82Agregar tareas de análisis de código al pipeline de billingVídeo Aula
Se explica la configuracion de las tareas de análisis de código para que funcionen correctamente en conjunto con la tarea de compilación de maven que tambien debe ser modificada.
-
83Configuración de ramas en sonarcloud y definición de reglas de código nuevoVídeo Aula
Es neceario definir de manera correcta la rama principal y las ramas long live y short y ejecutar el analisis de la rama main para poder obtener un resiltado correcto en el análisis de código en sonarcloud
-
84Como funciona Sonar cloud y como definir quality gatesVídeo Aula
Breve explicación de los principales conceptos de sonar cloud, como funciona, las principales opciones de los menus y como definir quality gates exitosas.
-
85Explicación del resultado del análisis y como gestionar los issues en sonarcloudVídeo Aula
Explicación de los principales conceptos necesarios para el análisis del resultado del escaneo automático del código y como asignar y gestionar los diferentes issues.
-
86Modificacion de código, segundo análisis y conclusiones finales sobre sonarcloudVídeo Aula
Recomendaciones para el diseño correcto de quality gates en sonar, como uincluirlos en pipelines de manera correcta y recomendaciones sobre el upgrade a la cuenta de pago.