Exploración de acciones de GitHub

Completado

Acciones de GitHub es una plataforma de integración continua y entrega continua (CI/CD) que permite automatizar las canalizaciones de compilación, prueba e implementación. Permite crear flujos de trabajo que compilen, prueben e implementen automáticamente el código en cualquier plataforma. Vamos a explorar Acciones de GitHub y cómo los desarrolladores los usan.

Componentes de Acciones de GitHub

Puede ejecutar un flujo de trabajo de Acciones de GitHub manualmente o configurarlo para que se desencadene cuando se produzca un evento en el repositorio. Por ejemplo, una solicitud de incorporación de cambios podría desencadenar un flujo de trabajo que realice una comprobación de validación como parte de un proceso de revisión.

Un flujo de trabajo contiene los siguientes componentes:

  • flujos de trabajo: contienen uno o varios trabajos que se pueden ejecutar en orden secuencial o en paralelo.
  • Trabajos: contienen uno o más pasos que ejecutan un script que haya definido o bien ejecuten una acción. Los trabajos se ejecutan dentro de su propio ejecutorde máquina virtual o dentro de un contenedor.
  • Pasos: defina las tareas específicas que se van a realizar durante la ejecución del flujo de trabajo.

Cada paso ejecuta un solo script de shell o una acción que es una extensión reutilizable que puede simplificar el flujo de trabajo.

Flujos de trabajo

Un flujo de trabajo es un proceso automatizado configurable que ejecuta uno o varios trabajos. Los flujos de trabajo se definen mediante un archivo YAML registrado en el repositorio. Se ejecutan cuando se desencadenan mediante un evento, se ejecutan manualmente o se ejecutan en una programación definida.

Los flujos de trabajo se definen en el directorio .github/workflows de un repositorio y un repositorio puede tener varios flujos de trabajo, cada uno de los cuales puede realizar un conjunto diferente de tareas. Por ejemplo, puede tener un flujo de trabajo para compilar y probar solicitudes de incorporación de cambios, un flujo de trabajo para implementar la aplicación cada vez que se crea una versión y un flujo de trabajo que agrega una etiqueta cada vez que alguien abre un problema nuevo.

Eventos

Un evento es una actividad específica en un repositorio que desencadena una ejecución de flujo de trabajo. Por ejemplo, la actividad puede originarse en GitHub cuando alguien crea una solicitud de incorporación de cambios, abre un problema o inserta una confirmación en un repositorio. También puede desencadenar un flujo de trabajo para que se ejecute según una programación, publicando en una API REST o manualmente.

Trabajos

Un trabajo es un conjunto de pasos en un flujo de trabajo que se ejecuta en un ejecutor. Cada paso es un script de shell que se ejecuta o una acción que se lleva a cabo. Los pasos se ejecutan en orden y dependen entre sí. Dado que cada paso se ejecuta en el mismo ejecutor, puede compartir datos de un paso a otro. Por ejemplo, puede tener un paso que compile la aplicación seguido de un paso que pruebe la aplicación compilada.

Puede configurar las dependencias de un trabajo con otros trabajos; De forma predeterminada, los trabajos no tienen dependencias y se ejecutan en paralelo entre sí. Cuando un trabajo depende de otro, espera a que se complete el trabajo dependiente antes de que se pueda ejecutar. Por ejemplo, puede tener varios trabajos de compilación para distintas arquitecturas que no tengan dependencias y un trabajo de empaquetado que dependa de los trabajos de compilación. Las tareas de construcción se ejecutan en paralelo y, cuando se completan con éxito, se inicia la tarea de empaquetado.

Acciones

Una acción es una aplicación personalizada para la plataforma acciones de GitHub que realiza una tarea compleja pero repetida con frecuencia. Use una acción para ayudar a reducir la cantidad de código repetitivo que se escribe en los archivos de flujo de trabajo. Una acción puede extraer el repositorio git de GitHub, configurar la cadena de herramientas correcta para el entorno de compilación o configurar la autenticación en el proveedor de nube.

Puede escribir sus propias acciones o encontrar acciones para usarlas en los flujos de trabajo en el Marketplace de GitHub.

Ejecutores

Un ejecutor es un servidor que ejecuta los flujos de trabajo cuando se activan. Cada "runner" puede ejecutar un solo trabajo a la vez. GitHub proporciona ejecutores de Ubuntu Linux, Microsoft Windows y macOS para ejecutar los flujos de trabajo; cada ejecución de flujo de trabajo se ejecuta en una máquina virtual recién aprovisionada. GitHub también ofrece ejecutores más grandes, que están disponibles en configuraciones más grandes.

Si necesita un sistema operativo diferente o requiere una configuración de hardware específica, puede hospedar sus propias instancias de ejecución.

Ahora que comprende los componentes de Acciones de GitHub, examine un archivo de flujo de trabajo.