Curso de GitHub Actions

Curso de GitHub Actions

Juan José Torres

Juan José Torres

Qué son GitHub Actions y qué es CI/CD

2/18
Recursos
Transcripción

GitHub Actions es una plataforma de automatización que nos permite crear flujos de trabajo personalizados dentro de nuestros repositorios de GitHub.

Esta herramienta permite automatizar diferentes procesos, desde la compilación, las pruebas y el despliegue de aplicaciones.

¿Cuál es el papel de los flujos de integración continua y despliegue continuo en el desarrollo de software?

El desarrollo de software sigue un flujo compuesto por diversas fases, desde la planificación y codificación, hasta la operación y la recogida de métricas para mejorar el servicio.

Los flujos de integración continua y despliegue continuo se utilizan para automatizar estas fases, permitiendo a los desarrolladores enfocarse solo en el código y no en la logística del despliegue y las pruebas.

¿Por qué debería elegir GitHub Actions sobre otras herramientas de automatización de desarrollo de software?

Existen muchas herramientas que permiten automatizar flujos de desarrollo, pero GitHub Actions tiene varias ventajas que la destaca.

Algunas de estas ventajas son la posibilidad de automatizar cualquier cosa del flujo de trabajo de forma nativa en GitHub, la disponibilidad de miles de plantillas de automatización listas para usar, la recopilación de código y configuraciones en un solo lugar, y no tener que preocuparse por el mantenimiento del servidor.

Además, para repositorios públicos, GitHub Actions es un servicio gratuito.

Aportes 9

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Github Actions es una plataforma de integración y despliegue continuo CI/CD (Continuous Integration / Continuous Deployment) que permite automatizar procesos de compilación, pruebas y despliegue.

El flujo CI/CD consta en 8 secciones que se repetirán cíclicamente, 4 para CI y 4 para CD.

CI:

  • Plan: Toda la etapa previa donde planificamos los features que integraremos al proyecto.
  • Code: El código que hemos desarrollado.
  • Build: Compilar o Interpretar el código para dejarlo listo para ser usado por algún host o fuente.
  • Test: Correr todas las pruebas desarrolladas para asegurar que el código funcione correctamente.

CD:

  • Release: Enviar nuestra build a la locación remota donde se aloja el proyecto.
  • Deploy: Reconfigurar y relanzar los servicios del proyecto con los nuevos features.
  • Operate: Mantener el proyecto a flote.
  • Measure: Medir con métricas la calidad del servicio.
  • La ventaja competitiva de Github Actions es que permite integrar el resto de servicios de Github de manera nativa, por lo que podremos gestionar nuestros repos enteros sin la necesidad de usar alguna plataforma externa como intermediaria.
  • También ofrece plantillas personalizadas desarrolladas por el propio equipo de Github o la comunidad que se acoplarán a nuestras necesidades.
  • El scope de la configuración del flujo se dará por repositorio, por lo que cada repo tendrá su máximo nivel de personalización y respetará la atomicidad.
  • Github mantiene la plataforma (Actions) y es de uso gratuito, por lo que podremos hacer uso de ella siempre y cuando manejemos proyectos no privativos.

Debo decir que he participado en proyectos donde no he sido el responsable de la administración de estas configuraciones y tareas del proyecto pero eso miso es lo que me trae aquí, poder entender de qué se trata y cómo funciona para poder integrar estas herramientas a próximos proyectos.

Sorprendentemente no había visto nunca el Software Development Flow, o quizás sí pero no con tanta importancia como lo acabo de ver ho. Siempre se aprende algo nuevo… Btw, en qué otros cursos de Platzi lo mencionan?

Si entiendo bien, Github Actions es la competencia de Azure DevOps ¿es correcto??
Ahora lo estoy usando. Github Actions: Nos permite realizar automatizacion de Integracion y Despliegue continuo CI y CD.
Vine acá para mezclar este conocimiento con gitOps.

Github Actions: Nos permite realizar automatizacion de Integracion y Despliegue continuo CI y CD.

CI:
Plan: Se debe planificar todo lo que contendra la aplicacion lenguajes y requerimientos.
Code: Elegir el lenguaje acorde a las necesidades del proyecto.
Build: Se compilar el codigo para dejarlo terminado para luego ser usado.
Test: Ejecutar todas las pruebas necesarias estas pueden ser: pruebas unitarias, pruebas de integracion, pruebas de estres.

CD:
Release: Enviar nuestra app a un servidor remoto donde se aloja el proyecto.
Deploy: Desplegar nuestra aplicacion en los diferentes repositorios con los nuevos cambios o features.
Operate: Hacer todo el mantenimiento necesario a nuestra aplicacion de manera que la mismo este siempre activa.
Measure: Mantener un monitoreo constante de la aplicacion para lograr una buena calidad de servicio.