Supprimer des artefacts, créer des badges d’état et configurer des protections d’environnement

Effectué

Dans cette unité, vous allez découvrir comment supprimer des artefacts de workflow dans GitHub, et comment changer la période de rétention par défaut. Ensuite, vous allez voir comment créer un badge d’état de workflow et l’ajouter à votre fichier README.md. Enfin, vous allez découvrir certaines protections d’environnement de workflow importantes, et voir comment les activer.

Supprimer les artefacts de workflow dans GitHub

Par défaut, GitHub stocke tous les journaux de génération et les artefacts chargés pendant 90 jours avant de les supprimer. Vous pouvez personnaliser cette période de conservation en fonction du type de dépôt et des limites d’utilisation définies pour votre produit GitHub spécifique. Il existe beaucoup plus d’informations sur les limites d’utilisation et la rétention des artefacts. Pour plus d’informations, consultez Limites d’utilisation, facturation et administration.

Toutefois, supposons que vous atteignez la limite de stockage de votre organisation pour les artefacts et packages GitHub. Vous souhaitez supprimer d’anciens artefacts sans augmenter vos limites d’utilisation et bloquer vos workflow. Vous pouvez récupérer du stockage GitHub Actions en supprimant les artefacts avant qu’ils n’expirent sur GitHub. Vous pouvez procéder de deux façons, comme décrit dans les sections suivantes. Les deux méthodes nécessitent un accès en écriture au référentiel.

Avertissement

Gardez à l’esprit qu’une fois que vous supprimez un artefact, vous ne pouvez pas le restaurer.

Supprimer manuellement des artefacts dans le dépôt

Pour supprimer manuellement un artefact dans GitHub, accédez à l’onglet Actions, sélectionner le workflow dans la barre latérale gauche, puis sélectionnez l’exécution que vous souhaitez voir.

Capture d’écran montrant un exemple de workflow exécuté dans GitHub.

Sous Artifacts, supprimez l’artefact que vous souhaitez supprimer.

Capture d’écran montrant l’icône représentant une corbeille qui permet de supprimer un artefact de GitHub.

Vous pouvez également utiliser l’API REST Artifacts pour supprimer des artefacts. Cette API vous permet également de télécharger et de récupérer des informations sur les artefacts de travail.

Changer la période de conservation par défaut

Vous pouvez changer la période de conservation par défaut des artefacts et des journaux pour votre dépôt, votre organisation ou votre compte d’entreprise. N’oubliez pas que la modification de la période de rétention s’applique uniquement aux nouveaux artefacts et fichiers journaux. Elle ne s’applique pas aux objets existants. Le processus de configuration de ces paramètres varie légèrement selon qu’il s’agit d’un dépôt, d’une organisation ou d’une entreprise. Pour plus d’informations sur la configuration de la période de conservation des artefacts et des journaux, consultez le récapitulatif à la fin de ce module.

En plus des paramètres configurés pour un dépôt, une organisation ou une entreprise, vous pouvez définir une période de conservation personnalisée pour chaque artefact, directement dans le fichier de workflow. Cette pratique est adaptée aux cas d’usage où vous souhaitez que la rétention d’un artefact soit différente du paramètre par défaut ou configuré. Vous pouvez faire cela en utilisant une valeur retention-days dans l’étape avec l’action upload-artifact.

L’exemple suivant charge un artefact qui est conservé pendant 10 jours au lieu des 90 jours par défaut :

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

Ajouter un badge d’état de workflow à votre dépôt

Il est pratique de pouvoir connaître l’état d’un workflow sans avoir à accéder à l’onglet Actions pour voir s’il s’est terminé correctement. L’ajout de badges d’état de workflow au fichier README.md de votre dépôt vous permet de voir rapidement si vos workflows réussissent ou échouent. Même s’il est courant d’ajouter un badge d’état à un fichier README.md de dépôt, vous pouvez également l’ajouter à n’importe quelle page web. Par défaut, les badges d’état affichent l’état des workflows sur votre branche par défaut. Toutefois, vous pouvez également afficher les badges d’état des workflows d’autres branches à l’aide des paramètres branch et event.

Voici un exemple de ce que vous devez ajouter à un fichier pour afficher un badge d’état de workflow :

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

Par exemple, l’ajout du paramètre branch avec le nom de la branche souhaitée à la fin de l’URL affiche le badge d’état de workflow pour cette branche, et non celui de la branche par défaut. Cette pratique permet de créer facilement une vue de type table dans votre fichier README.md afin d’afficher l’état des workflows en fonction des branches, des événements, des services ou des environnements, par exemple.

Capture d’écran montrant un exemple de badge d’état de workflow avec la branche my-workflow.

Vous avez également la possibilité de créer un badge d’état à l’aide de GitHub. Accédez à la section des workflows sous l’onglet Actions, puis sélectionnez un workflow. L’option Créer un badge d’état vous permet de générer le Markdown de ce workflow, et de définir les paramètres branch et event.

Capture d’écran montrant l’option de création d’un badge d’état à partir de la section Workflows sur GitHub.

Ajouter des protections d’environnement de workflow

La sécurité est essentielle. Il est donc important de configurer des règles de protection et des secrets dans votre environnement de workflow. Une fois ces éléments configurés, les travaux ne démarrent pas et n’accèdent à aucun secret défini dans l’environnement tant que toutes les règles de protection de l’environnement n’auront pas été respectées. Les règles de protection et les secrets de l’environnement s’appliquent uniquement aux dépôts publics.

Il existe deux règles de protection de l’environnement que vous pouvez appliquer aux workflows dans des dépôts publics : required reviewers (réviseurs obligatoires) et wait timer (minuteur d’attente).

  • La règle required reviewers vous permet de définir la personne ou l’équipe qui est chargée d’approuver les travaux de workflow qui référencent leur environnement.
  • La règle wait timer peut être utilisée pour différer un travail après son déclenchement.

Supposons que vous deviez créer un workflow dans un environnement de production, qu’une équipe de développement doit approuver avant son déploiement. Utiliser les étapes suivantes :

  1. Créez un environnement de production dans le dépôt.
  2. Configurez la protection d’environnement « required reviewers » pour exiger une approbation de l’équipe de développement.
  3. Configurez le travail dans le workflow de manière à rechercher l’environnement de production.

Vous pouvez créer et configurer de nouveaux environnements de dépôt à partir de l’onglet Settings (Paramètres) du dépôt sous Environments.