Información general
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. En este ejemplo se muestra cómo crear variables personalizadas con los nombres POSTGRES_HOST
y POSTGRES_PORT
. Estas variables están disponibles para 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, vea «variables».
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. En este ejemplo se muestra cómo una acción puede usar la palabra clave run
para ejecutarse en el ejecutor npm install -g bats
.
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, vea «Sintaxis del flujo de trabajo para Acciones de GitHub».
Compartir datos entre jobs
Si el trabajo genera archivos que quiere compartir con otro trabajo del mismo flujo de trabajo, o bien si quiere guardar los archivos para referencia futura, puede 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. Todas las acciones y flujos de trabajo a las que se les llama desde dentro de una ejecución tienen acceso de escritura a los artefactos de dicha ejecución.
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@v3
with:
name: output-log-file
path: output.log
Para descargar un artefacto de una ejecución de flujo de trabajo independiente, puede usar la acción actions/download-artifact
. Por ejemplo, puede descargar el artefacto denominado output-log-file
.
jobs:
example-job:
steps:
- name: Download a single artifact
uses: actions/download-artifact@v3
with:
name: output-log-file
Para descargar un artefacto desde la misma ejecución de flujo de trabajo, el trabajo de descarga debe especificar needs: upload-job-name
para que no se inicie hasta que finalice el trabajo de carga.
Para más información sobre los artefactos, consulta "Almacenar los datos de los flujos de trabajo como artefactos".
Pasos siguientes
Para continuar el aprendizaje sobre GitHub Actions, consulta "Acerca de los flujos de trabajo".