Skip to main content

Agregar scripts a tu flujo de trabajo

Puede utilizar sus flujos de trabajo de GitHub Actions para ejecutar secuencias de comandos.

Puede utilizar un flujo de trabajo GitHub Actions 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 utilizar run la palabra clave para ejecutar el comando npm install -g bats en el ejecutor.

jobs:
  example-job:
    runs-on: ubuntu-latest
    steps:
      - run: npm install -g bats

Para usar un flujo de trabajo para ejecutar un script almacenado en el repositorio, primero debe consultar el repositorio en el ejecutor. Una vez hecho esto, puede usar la run palabra clave para ejecutar el script en el ejecutor. En el ejemplo siguiente se ejecutan dos scripts, cada uno en un paso de trabajo independiente. La ubicación de los scripts en el ejecutor se especifica estableciendo un directorio de trabajo predeterminado para los comandos de ejecución. Para más información, consulta Configuración de un shell y directorio de trabajo predeterminados.

jobs:
  example-job:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./scripts
    steps:
      - name: Check out the repository to the runner
        uses: actions/checkout@v4  
      - name: Run a script
        run: ./my-script.sh
      - name: Run another script
        run: ./my-other-script.sh

Los scripts en los que desee ejecutar un flujo de trabajo deben ser ejecutables. Puede hacerlo dentro del flujo de trabajo, pasando el script como argumento al intérprete que ejecutará el script (por ejemplo, run: bash script.sh ) o haciendo que el propio archivo sea ejecutable. Puede conceder al archivo el permiso de ejecución localmente mediante el comando git update-index --chmod=+x PATH/TO/YOUR/script.sh y, a continuación, confirmar e insertar el archivo en el repositorio. Como alternativa, para los flujos de trabajo que se ejecutan en ejecutores de Linux y Mac, puede agregar un comando para conceder al archivo el permiso de ejecución en el trabajo de flujo de trabajo, antes de ejecutar el script:

jobs:
  example-job:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./scripts
    steps:
      - name: Check out the repository to the runner
        uses: actions/checkout@v4  
      - name: Make the script files executable
        run: chmod +x my-script.sh my-other-script.sh
      - name: Run the scripts
        run: |
          ./my-script.sh
          ./my-other-script.sh

Para obtener más información sobre la palabra clave run, consulta Sintaxis del flujo de trabajo para Acciones de GitHub.