Nota: GitHub Actions estuvo disponible para GitHub Enterprise Server 2.22 como un beta limitado. El beta terminó. GitHub Actions está ahora disponible habitualmente en GitHub Enterprise Server 3.0 o superior. Para obtener más información, consulta la sección de notas de lanzamiento para GitHub Enterprise Server 3.0.
- Para obtener más información acerca de cómo mejorar a GitHub Enterprise Server 3.0 o superior, consulta la sección "Mejorar a GitHub Enterprise Server".
- Para obtener más información acerca de configurar las GitHub Actions después de tu mejora, consulta la documentación de GitHub Enterprise Server 3.0.
Nota: Los ejecutores hospedados en GitHub no son compatibles con GitHub Enterprise Server actualmente. Puedes encontrar más información sobre el soporte que se tiene planeado en el futuro en el Itinerario público de GitHub.
Resumen
Las GitHub Actions te ayudan a automatizar tareas dentro de tu ciclo de vida de desarrollo de software. Las GitHub Actions se manejan por eventos, lo cual significa que puedes ejecutar una serie de comandos después de que haya ocurrido un evento especificado. Por ejemplo, cada vez que alguien crea una solicitud de cambios para un repositorio, puedes ejecutar automáticamente un comando que ejecute un script de prueba de software.
Este diagrama ilustra como puedes utilizar las GitHub Actions para ejecutar automáticamente tus scripts de pruebas de software. Un evento activa el flujo de trabajo automáticamente, el cual contiene un job. Entonces, el job utiliza pasos para controlar el orden en el que se ejecutan las acciones. Estas acciones son los comandos que automatizan las pruebas de tu software.
Los componentes de las GitHub Actions
A continuación, encontrarás una lista de los diferentes componentes de las GitHub Actions que funcionan en conjunto para ejecutar jobs. Puedes ver cómo dichos componentes interactúan entre ellos.
Flujos de trabajo
El flujo de trabajo es un procedimiento automatizado que agregas a tu repositorio. Los flujos de trabajo se componen de uno o más jobs y pueden programarse o activarse a través de un evento. El flujo de trabajo se puede utilizar para crear, probar, empacar, lanzar o desplegar un proyecto en GitHub.
Eventos
En evento es una actividad específica que activa un flujo de trabajo. Por ejemplo, la actividad se puede originar desde GitHub cuando alguien sube una confirmación a un repositorio o cuando se crea una propuesta o solicitud de extracción. También puedes utilizar el webhook de envío del repositorio para activar un flujo de trabajo cuando ocurra un evento externo. Para encontrar una lista de eventos completa que puede utilizarse para activar flujos de trabajo, consulta los Eventos que activan flujos de trabajo.
Jobs
Un job es un conjunto de pasos que se ejecutan en el mismo ejecutor. Predeterminadamente, un flujode trabajo con varios jobs los ejecutará en paralelo. También puedes configurar el flujo de trabajo para que los ejecute secuencialmente. Por ejemplo, un flujo de trabajo puede tener dos trabajos consecutivos para desarrollar y probar el código. El trabajo de prueba depende del estado del trabajo de desarrollo. Si el trabajo de desarrollo falla, no se ejecutará el trabajo de prueba.
Pasos
Un paso es una tarea individual que puede ejecutar comandos en un job. Un paso puede ser tanto una acción como un comando de shell. Cada paso en un job se ejecuta en el mismo ejecutor, lo cual permite que las acciones en dicho job compartan datos entre ellas.
Acciones
Las Acciones son comandos independientes que se combinan en pasos para crear un job. Las acciones son el componente portable más pequeño de un flujo de trabajo. Puedes crear tus propias acciones, o utilizar acciones que haya creado la comunidad de GitHub. Para utilizar una acción en un flujo de trabajo, debes incluirla como paso.
Ejecutores
Un ejecutor es un servidor que tiene instalada la aplilcación de ejecutor de GitHub Actions. Puedes utilizar un ejecutor que esté hospedado en GitHub, o puedes hospedar el tuyo propio. Un ejecutor escucha a los jobs disponibles, ejecuta un job a la vez, y reporta el progreso, bitácoras y resultados de vuelta a GitHub. Los ejecutores hospedados en GitHub se basan en Ubuntu Linux, Microsoft Windows y macOS, y cada job en un flujo de trabajo se ejecuta en un ambiente virtual nuevo. Para obtener más información sobre los ejecutores hospedados en GitHub, consulta la sección "Acerca de los ejecutores hospedados en GitHub". Si necesitas un sistema operativo diferente o si requieres de una configuración de hardware específica, puedes hospedar tus propios ejecutores. Para obtener información sobre los ejecutores auto-hospedados, consulta la sección "Hospedar tus propios ejecutores".
Crear un flujo de trabajo de ejemplo
Las GitHub Actions usan la sintaxis de YAML para definir los eventos, jobs y pasos. Estos archivos de YAML se almacenan en el repositorio de tu código, en un directorio que se llama .github/workflows
.
Puedes crear un flujo de trabajo de ejemplo en tu repositorio que active automáticamente una serie de comandos cada que se suba código. En este flujo de trabajo, las GitHub Actions verifican el código que se subió, instalan las dependencias de software, y ejecutan bats -v
.
- En tu repositorio, crea el directorio
.github/workflows/
para almacenar tus archivos de flujo de trabajo. - En el directorio
.github/workflows/
, crea un archivo nuevo que se llamelearn-github-actions.yml
y agrega el siguiente código.name: learn-github-actions on: [push] jobs: check-bats-version: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: '14' - run: npm install -g bats - run: bats -v
- Confirma estos cambios y cárgalos a tu repositorio de GitHub.
Tu archivo de flujo de trabajo de GitHub Actions nuevo estará ahora instalado en tu repositorio y se ejecutará automáticamente cada que alguien suba un cambio a éste. Para encontrar los detalles sobre el historial de ejecución un job, consulta la sección "Visualizar la actividad del flujo de trabajo".
Entender el archivo de flujo de trabajo
Para ayudarte a entender cómo se utiliza la sintaxis de YAML para crear un flujo de trabajo, esta sección explica cada línea del ejemplo de la introducción:
|
Opcional - El nombre del flujo de trabajo ta como aparece en la pestaña de Acciones del repositorio de GitHub. |
|
Especifica el evento que activa automáticamente el archivo de flujo de trabajo. Este ejemplo utiliza el evento push , para que los jobs se ejecuten cada que alguien sube un cambio al repositorio. Puedes configurar el flujo de trabajo para que solo se ejecuten en ciertas ramas, rutas, o etiquetas. Para encontrar ejemplos de sintaxis que incluyan o excluyan ramas, rutas, o etiquetas, consulta la sección "Sintaxis de flujo de trabajo para GitHub Actions". |
|
Agrupa los jobs que se ejecutan en el archivo de flujo de trabajo learn-github-actions .
|
|
Define el nombre del job check-bats-version que se almacena en la sección jobs .
|
|
Configura el job para ejecutarse en un ejecutor Ubuntu Linux. Esto significa que el job se ejecutará en una máquina virtual nueva que se hospede en GitHub. Para encontrar ejemplos de sintaxis que utilicen otros ejecutores, consulta la sección "Sintaxis de flujo de trabajo para GitHub Actions". |
|
Agrupa todos los pasos que se ejecutan en el job check-bats-version . Cada elemento anidado bajo esta sección es un comando de shell o acción separada.
|
|
La palabra clave uses le dice al job que recupere la v2 de la acción comunitaria que se llama actions/checkout@v2 . Esta es una acción que revisa tu repositorio y lo descarga al ejecutor, lo que te permite ejecutar acciones contra tu código (tales como las herramientas de prueba). Debes utilizar la acción de verificación cada que tu flujo de trabajo se ejecute contra el código del repositorio o cada que estés utilizando una acción definida en el repositorio.
|
|
Este paso utiliza la acción actions/setup-node@v2 para instala la versión especificada del paquete de software del node en el ejecutor, lo cual te otorga acceso al comando npm .
|
|
La palabra clave run le dice al job que ejecute un comando en el ejecutor. Ene ste caso, estás utilizando npm para instalar el paquete de pruebas del software bats .
|
|
Finalmente, ejecutarás el comando bats con un parámetro que producirá la versión del software.
|
Visualizar el archivo de flujo de trabajo
En este diagrama, puedes ver el archivo de flujo de trabajo que acabas de crear, así como la forma en que los componentes de GitHub Actions se organizan en una jerarquía. Cada paso ejecuta una acción simple o un comando de shell. Los pasos 1 y 2 utilizan acciones comunitarias preconstruidas. Los pasos 3 y 4 ejecutan comandos de shell directamente en el ejecutor. Para encontrar más acciones preconstruidas para tus flujos de trabajo, consulta la sección "Encontrar y personalizar acciones".
Visualizar la actividad de un job
Una vez que tu job comience a ejecutarse, podrásver la actividad de cada paso en GitHub.
-
En GitHub Enterprise Server, visita la página principal del repositorio.
-
Debajo del nombre de tu repositorio, da clic en Acciones.
-
En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.
-
Debajo de "Ejecuciones de flujo de trabajo", da clic en el nombre de la ejecución que quieres ver.
-
Da clic en el nombre del job para ver los resultados de cada paso.
Pasos siguientes
Para seguir aprendiendo sobre las GitHub Actions, consulta la sección "Encontrar y personalizar las acciones".
Para entender cómo funciona la facturación de las GitHub Actions, consulta la sección "Acerca de la facturación para las GitHub Actions".
Contactar con soporte técnico
Si necesitas ayuda con lo que sea relacionado con la configuración de flujo de trabajo, tal como la sintaxis, los ejecutores hospedados en GitHub, o la creación de acciones, busca un tema existente o inicia uno nuevo en la categoría de GitHub Actions de Soporte de la Comunidad de GitHub.
Si tienes algún tipo de retroalimentación o solicitudes de características para GitHub Actions, compártelas en el Formulario para retroalimentación de GitHub Actions.
Contacta a el administrador de tu sitio para cualquiera de los siguientes, que tu tipo de uso o el tipo de uso que pretendes tener caiga en las siguientes categorías de limitación:
- Si crees que tu cuenta se ha restringido de manera incorrecta
- Si llegas un error inesperado cuando ejecutas una de tus acciones, por ejemplo: una ID única
- Si llegas a una situación en donde el comportamiento existente contradice a aquél que se espera, pero no siempre se documenta