Skip to main content

Características esenciales de Acciones de GitHub

Las GitHub Actions se diseñaron para ayudarte a crear automatizaciones robustas y dinámicas. Esta guía te mostrará cómo crear flujos de trabajo de GitHub Actions que incluyan variables de ambiente, scripts personalizados, y más.

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 más información, vea "Uso de 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. 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 más información, vea "Sintaxis de flujo de trabajo para GitHub Actions".

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. All actions and workflows called within a run have write access to that run's artifacts.

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, vea "Conservación de datos de flujo de trabajo mediante artefactos".

Pasos siguientes

Para continuar el aprendizaje sobre GitHub Actions, vea "Administración de flujos de trabajo complejos".