Skip to main content

Uso de registros de ejecución de flujo de trabajo

Puedes ver, buscar y descargar las bitácoras de cada job en una ejecución de flujo de trabajo.

Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.

Puedes ver si una ejecución de flujo de trabajo está en curso o completa desde la página de ejecución del flujo de trabajo. Debes haber iniciado sesión en una cuenta de GitHub para ver la información de ejecución del flujo de trabajo, incluyendo los casos de repositorios públicos. Para obtener más información, vea «Permisos de acceso en GitHub».

Si la ejecución está completa, puedes ver si el resultado fue exitoso, fallido, cancelado o neutral. Si la ejecución falló, puedes ver y buscar en los registros de construcción para diagnosticar la falla y volver a ejecutar el flujo de trabajo. También puedes ver los minutos de ejecución facturables para jobs, o descargar bitácoras y artefactos de compilación.

GitHub Actions usa la API de verificaciones para generar estados, resultados y registros para un flujo de trabajo. GitHub crea una nueva comprobación de suite para cada ejecución de flujo de trabajo. La comprobación de suite contiene una ejecución de comprobación para cada trabajo en el flujo de trabajo, y cada trabajo incluye diferentes pasos. GitHub Actions se ejecutan como un paso en un flujo de trabajo. Para más información sobre las API de comprobación, consulta "Puntos de conexión de la API de REST para comprobaciones".

Nota: Debe asegurarse de confirmar solo los archivos de flujo de trabajo válidos en el repositorio. Si .github/workflows contiene un archivo de flujo de trabajo que no es válido, GitHub Actions genera una ejecución de flujo de trabajo con error por cada confirmación nueva.

Ver registros para diagnosticar fallas

Si falla la ejecución de su flujo de trabajo, puedes ver qué paso provocó el error y revisar los registros de construcción del paso que falló para solucionar el problema. Puedes ver el tiempo que demoró cada paso en ejecutarse. También puedes copiar un enlace permanente a una línea específica en el archivo de registro para compartir con tu equipo. Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.

Adicionalmente a los pasos que se configuraron en el archivo de flujo de trabajo, GitHub agrega dos pasos adicionales a cada job para configurar y completar la ejecución del flujo de trabajo. Estos pasos se registran en la ejecución del flujo de trabajo con los nombres de "Set up job" y "Complete job".

Para trabajos que se ejecutan en ejecutores hospedados en GitHub, "Configurar un trabajo" registra los detalles de la imagen del ejecutor, e incluye un enlace a la lista de herramientas preinstaladas que estaban presentes en la máquina del ejecutor.

  1. En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Acciones.

    Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.

  3. En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.

    Captura de pantalla de la barra lateral izquierda de la pestaña "Acciones". Un flujo de trabajo, "CodeQL", se destaca en naranja oscuro.

  4. En la lista de ejecuciones de flujo de trabajo, haz clic en el nombre de la ejecución para ver el resumen de la ejecución de flujo de trabajo.

  5. En Trabajos o en el gráfico de visualización, seleccione el trabajo que quiera ver.

  6. Cualquier paso que falle se expandirá automáticamente para mostrar los resultados.

  7. De manera opcional, para obtener un enlace a una línea específica de los registros, haz clic en el número de línea del paso. Ahora podrás copiar el enlace de la barra de direcciones de tu buscador web.

    Captura de pantalla de los registros de un trabajo. Los registros de un paso con errores aparecen expandidos y un número de línea se muestra resaltado con un contorno naranja.

Buscar registros

Puedes buscar en los registros de construcción un paso en particular. Cuando buscas registros, solo los pasos ampliados se incluyen en los resultados. Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.

  1. En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Acciones.

    Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.

  3. En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.

    Captura de pantalla de la barra lateral izquierda de la pestaña "Acciones". Un flujo de trabajo, "CodeQL", se destaca en naranja oscuro.

  4. En la lista de ejecuciones de flujo de trabajo, haz clic en el nombre de la ejecución para ver el resumen de la ejecución de flujo de trabajo.

  5. En Trabajos o en el gráfico de visualización, seleccione el trabajo que quiera ver.

  6. En la esquina superior derecha de la salida del registro, escriba una consulta de búsqueda en el cuadro de búsqueda Buscar registros.

Descargar bitácoras

Puedes descargar los archivos de bitácora desde tu ejecución de flujo de trabajo. También puedes descargar los artefactos de un flujo de trabajo. Para obtener más información, vea «Almacenamiento y uso compartido de datos desde un flujo de trabajo». Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.

  1. En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Acciones.

    Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.

  3. En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.

    Captura de pantalla de la barra lateral izquierda de la pestaña "Acciones". Un flujo de trabajo, "CodeQL", se destaca en naranja oscuro.

  4. En la lista de ejecuciones de flujo de trabajo, haz clic en el nombre de la ejecución para ver el resumen de la ejecución de flujo de trabajo.

  5. En Trabajos o en el gráfico de visualización, seleccione el trabajo que quiera ver.

  6. En la esquina superior derecha del registro, selecciona el menú desplegable y, a continuación, haz clic en Descargar archivo de registro.

    Captura de pantalla del registro de un trabajo. En el encabezado, aparece un icono de engranaje en naranja oscuro.

Nota: Al descargar el archivo de registro para un flujo de trabajo que se ha vuelto a ejecutar parcialmente, este archivo solo incluirá los trabajo que se hayan ejecutado de nuevo. Para obtener un conjunto completo de bitácoras para los jobs que se ejecutaron desde un flujo de trabajo, debes descargar los archivos de bitácora de los intentos de ejecución previos que ejecutaron los otros jobs.

Borrar bitácoras

Puede eliminar los archivos de registro del flujo de trabajo a través de la interfaz web GitHub o mediante programación. Se requiere tener acceso de escritura en el repositorio para llevar a cabo estos pasos.

Eliminación de registros a través de la interfaz web GitHub

  1. En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Acciones.

    Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.

  3. En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.

    Captura de pantalla de la barra lateral izquierda de la pestaña "Acciones". Un flujo de trabajo, "CodeQL", se destaca en naranja oscuro.

  4. En la lista de ejecuciones de flujo de trabajo, haz clic en el nombre de la ejecución para ver el resumen de la ejecución de flujo de trabajo.

  5. En la esquina superior derecha, selecciona el menú desplegable y, luego, haz clic en Eliminar todos los registros.

    Captura de pantalla de la página de ejecución de flujo de trabajo. En la esquina superior derecha, un botón, etiquetado con un icono de kebab, aparece en naranja oscuro.

  6. Revisa la solicitud de confirmación.

Después de eliminar los registros, se quita el botón Eliminar todos los registros para indicar que no hay archivos de registro en la ejecución de flujo de trabajo.

Eliminación de registros mediante programación

Puede usar el siguiente script para eliminar automáticamente todos los registros de un flujo de trabajo. Esto puede ser una manera útil de limpiar los registros de varias ejecuciones de flujo de trabajo.

Para ejecutar el script de ejemplo siguiente:

  1. Copie el ejemplo de código y guárdelo en un archivo denominado delete-logs.sh.

  2. Conceda permisos de ejecución con chmod +x delete-logs.sh.

  3. Ejecute el comando siguiente, donde REPOSITORY_NAME es el nombre del repositorio y WORKFLOW_NAME es el nombre de archivo del flujo de trabajo.

    Shell
    ./delete-logs.sh REPOSITORY_NAME WORKFLOW_NAME
    

    Por ejemplo, para eliminar todos los registros del repositorio monalisa/octocat del flujo de trabajo .github/workflows/ci.yaml, ejecutaría ./delete-logs.sh monalisa/octocat ci.yaml.

Script de ejemplo

Bash
#!/usr/bin/env bash

# Delete all logs for a given workflow
# Usage: delete-logs.sh <repository> <workflow-name>

set -oe pipefail

REPOSITORY=$1
WORKFLOW_NAME=$2

# Validate arguments
if [[ -z "$REPOSITORY" ]]; then
  echo "Repository is required"
  exit 1
fi

if [[ -z "$WORKFLOW_NAME" ]]; then
  echo "Workflow name is required"
  exit 1
fi

echo "Getting all completed runs for workflow $WORKFLOW_NAME in $REPOSITORY"

RUNS=$(
  gh api \
    -H "Accept: application/vnd.github+json" \
    -H "X-GitHub-Api-Version: 2022-11-28" \
    "/repos/$REPOSITORY/actions/workflows/$WORKFLOW_NAME/runs" \
    --paginate \
    --jq '.workflow_runs[] | select(.conclusion != "") | .id'
)

echo "Found $(echo "$RUNS" | wc -l) completed runs for workflow $WORKFLOW_NAME"

# Delete logs for each run
for RUN in $RUNS; do
  echo "Deleting logs for run $RUN"
  gh api \
    --silent \
    --method DELETE \
    -H "Accept: application/vnd.github+json" \
    -H "X-GitHub-Api-Version: 2022-11-28" \
    "/repos/$REPOSITORY/actions/runs/$RUN/logs" || echo "Failed to delete logs for run $RUN"

  # Sleep for 100ms to avoid rate limiting
  sleep 0.1
done

Visualizar las bitácoras con GitHub CLI

Para más información sobre GitHub CLI, consulta "Acerca del CLI de GitHub".

Para ver el registro de un trabajo específico, use el subcomando run view. Reemplace run-id por el id. de la ejecución para la que quiera ver los registros. GitHub CLI devuelve un menú interactivo para que elijas un job de la ejecución. Si no especifica run-id, GitHub CLI devuelve un menú interactivo para que seleccione una ejecución reciente y, después, devuelve otro menú interactivo para que elija un trabajo de la ejecución.

gh run view RUN_ID --log

También puede usar la marca --job para especificar un identificador de trabajo. Reemplace job-id por el id. del trabajo para el que quiera ver los registros.

gh run view --job JOB_ID --log

Puede usar grep para buscar en el registro. Por ejemplo, este comando devolverá todas las entradas de registro que contengan la palabra error.

gh run view --job JOB_ID --log | grep error

Para filtrar los registros de los pasos con errores, use --log-failed en lugar de --log.

gh run view --job JOB_ID --log-failed