GitHub Actions es una plataforma de CI/CD (Integración continua/Implementación continua) para automatizar los procesos de compilación, prueba e implementación. Con las acciones de GitHub, podemos crear y probar cada solicitud de extracción en el repositorio mediante flujos de trabajo, o enviar las requests de extracción fusionadas a producción con flujos de trabajo. GitHub Actions te permite realizar procesos en respuesta a los eventos en tu repositorio. Por ejemplo, cada vez que alguien presenta un problema nuevo en su repositorio, puede ejecutar un proceso para agregar automáticamente las etiquetas requeridas o si alguien envía una solicitud de extracción a su repositorio, entonces los flujos de trabajo automatizados creados por usted pueden verificar si la solicitud de extracción es elegible. para fusionarse con el código principal o no. La siguiente figura explica el flujo de trabajo realizado por un ingeniero de software y la necesidad de canalizaciones de CI/CD.
La función de GitHub Actions entra en escena después del paso 2. Cuando haya terminado de codificar el proyecto, cárguelo en GitHub y cree un script para probarlo cada vez que confirme un cambio o que alguien más cree una solicitud de incorporación de cambios. Si ocurre alguna excepción, las acciones de GitHub fallarán en la compilación, lo que evitará que se fusionen las modificaciones. De lo contrario, la compilación tendrá éxito y el proyecto modificado estará disponible para su descarga.
Componentes de las acciones de GitHub
Cuando ocurre un evento en el repositorio, como cuando se abre una solicitud de extracción o se plantea un problema, se puede configurar el proceso de Acciones de GitHub para que se active. El flujo de trabajo incluye uno o más trabajos que se pueden ejecutar de forma secuencial o simultánea. Los componentes de GitHub Actions se enumeran a continuación:
1. Flujos de trabajo
Un flujo de trabajo es un procedimiento automatizado programable que ejecuta una o más tareas. Los flujos de trabajo se escriben en un archivo YAML (Yet Another Markup Language) que se registra en su repositorio. Pueden ser activados por un evento en su repositorio, manualmente o en un horario establecido. Puede haber un número n de flujos de trabajo que se pueden activar en el momento deseado. Por ejemplo, puede tener un flujo de trabajo que cree pruebas para cada solicitud de incorporación de cambios que se envíe a su repositorio o un flujo de trabajo que empuje su código a producción una vez que pase la prueba creada. Entonces, tan pronto como alguien envía una solicitud de extracción a su repositorio, el primer flujo de trabajo se activa y compila el código para verificar si funciona bien o no. Todos los flujos de trabajo están escritos en un archivo específico y en un directorio específico en GitHub, es decir, .github/workflows/file.yml. Aquí .github/workflows son el directorio y file.yml es el archivo con la extensión en la que se escribirá el script.
2. Eventos
Los eventos son los estados o actividades en los que se desenstringrán los flujos de trabajo. Cuando alguien inserta el código recién comprometido en el repositorio o archiva un problema o crea una solicitud de extracción, hay algunos eventos que finalmente activarán las acciones de GitHub para verificar los flujos de trabajo, si los hay, y hacer los trabajos como se especifica en el flujo de trabajo. El trabajo también se puede iniciar manualmente o en un horario específico.
3. Trabajos
Un trabajo es como una colección de etapas de flujo de trabajo que se ejecutan en el mismo ejecutor. Cada paso puede ser un script de shell o una acción que se ejecutará. Todos los pasos se llevan a cabo de manera secuencial y son interdependientes. Al ser interdependientes, el intercambio de datos entre los pasos se puede realizar fácilmente. Tomemos solo el ejemplo anterior, que dice enviar el código a la producción una vez que pasa la compilación. Ahora, tan pronto como la compilación pase, se activará el siguiente paso para enviar el código a la producción; de lo contrario, fallará.
4. Acciones
Una acción es un programa personalizado específico de la plataforma GitHub Actions que realiza un trabajo sofisticado pero realizado regularmente. Use la acción para ayudarlo a escribir código menos repetido en sus archivos de flujo de trabajo. Una acción puede obtener su repositorio git de GitHub, configurar la string de herramientas de su entorno de compilación o configurar las credenciales de su proveedor de nube.
5. Corredores
En términos simples, los ejecutores son los servidores que ejecutan los flujos de trabajo creados por usted. Al igual que un código C++ debe compilarse primero con mingw y luego ejecutarse, de manera similar, cuando se activan los flujos de trabajo, un corredor los ejecuta. Cada corredor está limitado a un trabajo a la vez. Para ejecutar los flujos de trabajo, GitHub proporciona ejecutores de Ubuntu Linux, Microsoft Windows y macOS, cada ejecución de flujo de trabajo se lleva a cabo en una nueva máquina virtual recién aprovisionada. Puede alojar sus propios corredores si necesita un sistema operativo diferente o una configuración de hardware específica.
Publicación traducida automáticamente
Artículo escrito por itsnitish22 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA