Contenido del curso
Planificación y Gestión del Proyecto
Desarrollo, Versionamiento y Pruebas
- 5

Crea tu primera API con .NET en GitHub
06:38 min - 6

Pruebas unitarias con xUnit en .NET
06:40 min - 7

Blindaje de rama main y gestión de commits en GitHub
07:06 min - 8

GitHub Actions para validar pruebas en pull requests
08:34 min - 9

Dockerfile para API .NET en Docker local
06:51 min - 10

CI/CD para imágenes Docker en GitHub Actions
Viendo ahora - 11

Publicar imagen Docker en Hub con GitHub Actions
06:21 min
CI/CD
Observabilidad, Mejora Continua
- 15

OpenTelemetry con Azure Application Insights
08:16 min - 16

Variables de ambiente en GitHub Actions y Azure Container App
09:49 min - 17

Creación de paneles personalizados con Azure Workbooks
09:49 min - 18

Creación de método para obtener contactos con pruebas unitarias
04:01 min - 19

Deploy automático con pull request en Azure
04:29 min - 20

Herramientas DevOps que puedes intercambiar
04:05 min - 21

Scrum y DevOps juntos en GitHub Projects
03:31 min - 22

Qué sigue después de tu primer pipeline
02:55 min
CI/CD para imágenes Docker en GitHub Actions
Resumen
Automatizar la construcción de imágenes Docker con GitHub Actions transforma tu flujo de trabajo DevOps en un proceso continuo y sin fricciones. Aquí aprendes a configurar un pipeline de integración continua que ejecuta el build de tu imagen de forma remota cada vez que fusionas cambios a la rama principal, ideal si trabajas con .NET y quieres profesionalizar tus despliegues.
Qué hacer después de fusionar tu pull request con Docker
Después de fusionar el pull request que añade Docker al proyecto, el siguiente paso lógico es crear una tarea nueva para sumar el flujo de integración continua. En el tablero del proyecto de DevOps, la tarea anterior aparece terminada y se abre una nueva: agregar CI para imágenes de Docker, registrada como el issue número 10.
Esta organización por issues es lo que mantiene la trazabilidad. Cada cambio en el repositorio responde a una tarea concreta, y cada pull request cierra ese issue automáticamente cuando se fusiona.
¿Qué es un pull request en GitHub? Es una propuesta de cambios al repositorio que permite revisión antes de fusionar. Documenta qué se modificó, quién lo revisa y qué issue cierra.
Cómo crear un workflow de GitHub Actions para Docker
Dentro de la pestaña Actions del repositorio ya existe un action previo de run test. Para el nuevo flujo, eliges crear un workflow desde cero y, en lugar del clásico main.yaml, lo nombras container_deployment.yaml. Ese nombre describe con precisión su propósito: desplegar contenedores.
El contenido del archivo viene del bloque preparado en Visual Studio Code, dentro de la carpeta clase 10. Lo copias y lo pegas directamente en el editor de GitHub.
Qué configura el archivo container_deployment.yaml
El action se llama API contactos CI/CD y define varios elementos clave:
- Se ejecuta solo en la rama principal, evitando builds innecesarios en ramas de trabajo.
- Define como image base name el valor
aminspinoza-api-contactos, el mismo nombre que se usó al desplegar la imagen local. - Corre sobre Ubuntu como sistema operativo del runner.
- Apunta al working directory
src/contactos-api, donde vive el código fuente.
El working directory es lo que reemplaza la necesidad de moverte manualmente con comandos de Bash. GitHub Actions se posiciona automáticamente en esa carpeta antes de ejecutar los pasos.
Qué pasos ejecuta el pipeline de integración continua
Los pasos del workflow siguen una secuencia clara:
- Checkout del repositorio para obtener el código.
- Listar archivos para confirmar la ubicación correcta.
- Ejecutar
build docker net image, que construye la imagen Docker en el entorno remoto.
Es el mismo comando que se corrió en local, pero ahora orquestado por GitHub en cada fusión a main.
Cómo fusionar el pull request y verificar el despliegue automatizado
Una vez guardado el archivo, creas una rama nueva llamada aminespinoza/10, donde el número coincide con el issue asociado. El commit message es simplemente create, y propones los cambios para abrirlos como pull request.
Copilot ayuda a redactar el resumen del pull request, y tú solo añades closes #10 para vincularlo al issue. Asignas a Oscar como reviewer y a ti mismo como responsable.
¿Qué hace closes #10 en un pull request? Vincula el pull request al issue número 10. Cuando se fusiona, GitHub cierra automáticamente ese issue sin intervención manual.
Por qué los checks verdes confirman el éxito del CI/CD
Después de la aprobación de Oscar, los checks pasan en verde. Confirmas la fusión, eliminas la rama y vas corriendo a la pestaña Actions. Ahí aparece el action API contactos CI/CD ejecutándose en tiempo real.
El proceso construye la imagen .NET y completa los primeros pasos del flujo de integración continua dentro de la etapa de release. Todo termina en verde sin que tengas que tocar nada más después de la fusión.
¿Cuándo se ejecuta el CI/CD en GitHub Actions? Solo al fusionar cambios a la rama principal. Esa es la condición definida en el workflow, lo que evita ejecuciones innecesarias en ramas secundarias.
Qué ganas al automatizar el build de Docker en la nube
La diferencia con el modo local es enorme. Antes ejecutabas el comando manualmente desde tu máquina; ahora el runner de Ubuntu lo hace por ti cada vez que apruebas un pull request. Tu tarea dentro del proyecto se marca como terminada y la ejecución queda registrada de forma automatizada.
Esta es la esencia de DevOps aplicado: tareas vinculadas a issues, pull requests documentados con ayuda de Copilot, revisiones humanas y pipelines que se disparan solos. Cuéntame en los comentarios qué herramienta vas a sumar tú a tu próximo workflow.