Eliminación de artefactos, creación de distintivos de estado y configuración de protecciones de entorno

Completado

En esta unidad aprenderá a quitar artefactos de flujo de trabajo de GitHub y a cambiar el período de retención predeterminado. A continuación, aprenderá a crear un distintivo de estado de flujo de trabajo y agregarlo al archivo README.md. Por último, identificará algunas protecciones importantes del entorno de flujo de trabajo y aprenderá a habilitarlas.

Eliminación de artefactos de flujo de trabajo de GitHub

De forma predeterminada, GitHub almacena los registros de compilación y los artefactos cargados durante 90 días antes de eliminarlos. Este período de retención se puede personalizar en función del tipo de repositorio y los límites de uso establecidos para el producto de GitHub específico. Hay mucha más información sobre los límites de uso y la retención de artefactos. Para obtener más información, vea Límites de uso, facturación y administración.

Pero supongamos que está a punto de alcanzar el límite de almacenamiento de su organización relativo a los artefactos y paquetes de GitHub. Quiere quitar artefactos antiguos sin aumentar los límites de uso ni bloquear los flujos de trabajo. Puede reclamar el almacenamiento usado de Acciones de GitHub si elimina los artefactos antes de que expiren en GitHub. Esto se puede hacer de dos maneras, como se describe en las secciones siguientes. En ambos métodos se necesita acceso de escritura al repositorio.

Advertencia

Y recuerde que, una vez que elimine un artefacto, no se podrá restaurar.

Eliminación manual de artefactos del repositorio

Para eliminar manualmente un artefacto de GitHub, debe ir a la pestaña Actions, seleccionar el flujo de trabajo en la barra lateral izquierda y, después, seleccionar la ejecución que quiera ver.

Captura de pantalla en la que se muestra una ejecución de flujo de trabajo de ejemplo en GitHub.

En Artifacts, elimine el artefacto que quiera quitar.

Captura de pantalla en la que se muestra el icono de papelera para eliminar un artefacto en GitHub.

También puede usar la API REST Artifacts para eliminar artefactos. Esta API también le permite descargar y recuperar información sobre artefactos de trabajo.

Cambio del período de retención predeterminado

Puede cambiar el artefacto predeterminado y el período de retención de registros para el repositorio, la organización o la cuenta empresarial. Tenga en cuenta que el cambio del período de retención solo se aplica a los nuevos artefactos y archivos de registro; no se aplica a los objetos existentes. El proceso para configurar estas opciones es un poco diferente para un repositorio, una organización o una empresa. Consulte el resumen al final de este módulo para obtener más información sobre la configuración de artefactos y la retención de registros.

Además de los valores configurados en un repositorio, organización o empresa, puede definir un período de retención personalizado para artefactos individuales directamente dentro del archivo de flujo de trabajo. Esta práctica es adecuada para casos de uso concretos en los que quiere que la retención de un artefacto específico sea diferente del valor predeterminado o configurado. Esto se puede hacer con un valor retention-days dentro del paso con la acción upload-artifact.

En el ejemplo siguiente se carga un artefacto que se conserva durante 10 días en lugar de los 90 días predeterminados:

- name: 'Upload Artifact'
  uses: actions/upload-artifact@v2
  with:
    name: my-artifact
    path: my_file.txt
    retention-days: 10

Adición de un distintivo de estado de flujo de trabajo al repositorio

Resulta útil conocer el estado de un flujo de trabajo sin tener que visitar la pestaña Actions para comprobar si se ha completado correctamente. Agregar distintivos de estado de flujo de trabajo al archivo README.md del repositorio le permite ver rápidamente si los flujos de trabajo son correctos o no. Aunque es habitual agregar un distintivo de estado a un archivo README.md del repositorio, también se puede agregar a cualquier página web. De forma predeterminada, los distintivos de estado muestran los estados de flujo de trabajo en la rama predeterminada, pero también puede mostrarlos en otras ramas mediante los parámetros branch y event.

A continuación, se muestra un ejemplo de lo que se debe agregar a un archivo para ver un distintivo de estado de flujo de trabajo:

![example branch parameter.](https://github.com/mona/special-octo-eureka/actions/workflows/grading.yml/badge.svg?branch=my-workflow)

Por ejemplo, al agregar el parámetro branch junto con el nombre de rama deseado al final de la dirección URL, se muestra el distintivo de estado del flujo de trabajo de esa rama en lugar de la rama predeterminada. Esta práctica facilita la creación de una vista de tipo tabla en el archivo README.md para mostrar estados de flujo de trabajo basados en ramas, eventos, servicios o entornos, por nombrar algunos.

Captura de pantalla en la que se muestra un distintivo de estado de flujo de trabajo de ejemplo con la rama my-workflow.

También tiene la capacidad de crear un distintivo de estado mediante GitHub. Vaya a la sección de flujos de trabajo de la pestaña Acciones y seleccione un flujo de trabajo específico. La opción Crear distintivo de estado le permite generar el markdown para ese flujo de trabajo y establecer los parámetros branch y event.

Captura de pantalla en la que se muestra la opción de crear un distintivo de estado en la sección de flujos de trabajo de GitHub.

Adición de protecciones de entorno de flujo de trabajo

La seguridad es muy importante, por lo que tiene sentido configurar el entorno de flujo de trabajo con reglas de protección y secretos. Con estos elementos establecidos, un trabajo no se iniciará ni accederá a los secretos definidos en el entorno hasta que se superen todas las reglas de protección del entorno. Actualmente, las reglas de protección y los secretos de entorno solo se aplican a repositorios públicos.

Hay dos reglas de protección del entorno que se pueden aplicar a los flujos de trabajo dentro de los repositorios públicos, revisores obligatorios y temporizador de espera.

  • Los revisores obligatorios permiten establecer una persona o un equipo específicos para aprobar trabajos de flujo de trabajo que hacen referencia al entorno del trabajo.
  • El temporizador de espera se puede usar para retrasar un trabajo durante un período de tiempo específico después de que se haya desencadenado.

Supongamos que tiene que crear un flujo de trabajo en un entorno de producción que un equipo de desarrollo debe aprobar antes de que se produzca la implementación. Siga estos pasos:

  1. Cree un entorno de producción en el repositorio.
  2. Configure la protección del entorno de los revisores obligatorios para exigir una aprobación del equipo de desarrollo específico.
  3. Configure el trabajo específico dentro del flujo de trabajo para buscar el entorno de producción.

Puede crear y configurar nuevos entornos de repositorio desde la pestaña Settings del repositorio en Environments.