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 permiten personalizar tus flujos de trabajo para satisfacer las necesidades específicas de tu aplicación y de tu equipo. En esta guía, presentaremos algunas de las técnicas de personalización esenciales, tales como el uso de variables, la ejecución de scripts, y el compartir datos y artefactos entre jobs.
Utilizar varibales en tus flujos de trabajo
Las GitHub Actions incluyen variables de ambiente predeterminadas para cada ejecución de flujo de trabajo. Si necesitas utilizar variables de ambiente personalizadas, puedes configurarlas en tu archivo de flujo de trabajo de YAML. Este ejemplo te muestra cómo crear variables personalizadas que se llamen POSTGRES_HOST
y POSTGRES_PORT
. Estas variables estarán entonces disponibles en el script node client.js
.
jobs:
example-job:
steps:
- name: Connect to PostgreSQL
run: node client.js
env:
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432
Para obtener más información, consulta "Usar variables de entorno."
Agregar scripts a tu flujo de trabajo
Puedes utilizar acciones para ejecutar scripts y comandos de shell, los cuales se ejecutarán después en el ejecutor asignado. Este ejemplo muestra cómo una acción puede utilizar la palabra clave run
para ejecutar npm install -g bats
en el ejecutor.
jobs:
example-job:
steps:
- run: npm install -g bats
Por ejemplo, para ejecutar un script como una acción, puedes almacenarlo en tu repositorio e indicar la ruta y tipo de shell.
jobs:
example-job:
steps:
- name: Run build script
run: ./.github/scripts/build.sh
shell: bash
Para obtener más información, consulta la sección "Sintaxis de flujo de trabajo para GitHub Actions".
Compartir datos entre jobs
Si tu job genera archivos que quieras compartir con otro job en el mismo flujo de trabajo, o si quieres guardar los archivos para su referencia futura, puedes almacenarlos en GitHub como artefactos. Los artefactos son los archivos que se crean cuando desarrollas y pruebas tu código. Por ejemplo, los artefactos podrían incluir archivos binarios o de paquete, resultados de pruebas, capturas de pantalla o archivos de registro. Los artefactos se asocian con la ejecución del flujo de trabajo en donde se crearon y otro job puede utilizarlos.
Por ejemplo, puedes crear un archivo y luego subirlo como un artefacto.
jobs:
example-job:
name: Save output
steps:
- shell: bash
run: |
expr 1 + 1 > output.log
- name: Upload output file
uses: actions/upload-artifact@v2
with:
name: output-log-file
path: output.log
Para descargar un artefacto de una ejecución de flujo de trabajo independiente, puedes utilizar la acción actions/download-artifact
. Por ejemplo, puedes descargar el artefacto que se llama output-log-file
.
jobs:
example-job:
steps:
- name: Download a single artifact
uses: actions/download-artifact@v2
with:
name: output-log-file
Para descargar un artefacto de la misma ejecución de flujo de trabajo, tu job de descarga debe especificar needs: upload-job-name
para que no comience hasta que el job de carga termine.
Para obtener más información acerca de los artefactos, consulta la sección "Persistir datos de flujos de trabajo utilizando artefactos".
Pasos siguientes
Para seguir aprendiendo sobre las GitHub Actions, consulta la sección "Administrar flujos de trabajo complejos".