Introduction
Dans GitHub Actions, les variables d'environnement sont des paires clé-valeur disponibles pour les étapes d'un workflow. Vous pouvez définir des variables d'environnement pour un workflow entier, un job spécifique ou une étape spécifique.
Dans ce lab, vous apprendrez à :
- Créer un fichier de workflow GitHub Actions.
- Définir une variable d'environnement au niveau du workflow.
- Accéder à et utiliser la variable d'environnement dans une étape.
- Mettre à jour la variable et déclencher à nouveau le workflow.
Ce lab s'appuie sur le dépôt que vous avez créé lors des labs précédents. Vous allez cloner le dépôt github-actions-demo et créer un workflow qui utilise des variables d'environnement.
Ajouter la section 'env' avec une variable GREETING définie sur 'Hello'
Dans cette étape, vous allez cloner le dépôt et créer un nouveau fichier de workflow GitHub Actions avec une variable d'environnement globale.
- Sur la page de votre dépôt GitHub pour
github-actions-demo, cliquez sur le bouton vert Code. - Assurez-vous que l'onglet HTTPS est sélectionné et copiez l'URL. Elle devrait ressembler à
https://github.com/your-username/github-actions-demo.git. - Ouvrez le terminal dans l'environnement LabEx. Le chemin par défaut est
~/project. - Utilisez la commande
git clonepour télécharger le dépôt. Remplacezyour-usernamepar votre nom d'utilisateur GitHub réel.
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git
- Naviguez dans le dépôt cloné :
cd ~/project/github-actions-demo
- Créez un nouveau fichier nommé
env-demo.ymlà l'intérieur du répertoire.github/workflows:
touch .github/workflows/env-demo.yml
- Ouvrez
.github/workflows/env-demo.ymldans le WebIDE et ajoutez le contenu suivant. Ceci définit le nom du workflow, l'événement déclencheur (push), et la sectionenvavec une variable nomméeGREETING.
name: Environment Variable Demo
on: [push]
env:
GREETING: "Hello"
name: Le nom de votre workflow.on: Spécifie que ce workflow s'exécute lorsqu'un événementpushse produit.env: Définit une carte de variables d'environnement qui sont disponibles pour tous les jobs et étapes du workflow. Ici, nous définissonsGREETINGà la chaîne de caractères'Hello'.
Ajouter une étape pour afficher la variable avec la commande 'run echo "${{ env.GREETING }}, World!"'
Dans cette étape, vous allez définir un job et une étape pour utiliser la variable d'environnement que vous avez créée. Vous accédez aux variables d'environnement dans le fichier de workflow en utilisant la syntaxe ${{ env.VARIABLE_NAME }}.
Ouvrez .github/workflows/env-demo.yml dans le WebIDE et ajoutez le contenu suivant à la fin du fichier :
jobs:
print-greeting:
runs-on: ubuntu-latest
steps:
- name: Print Greeting
run: echo "${{ env.GREETING }}, World!"
Votre fichier complet devrait ressembler à ceci :
name: Environment Variable Demo
on: [push]
env:
GREETING: "Hello"
jobs:
print-greeting:
runs-on: ubuntu-latest
steps:
- name: Print Greeting
run: echo "${{ env.GREETING }}, World!"
jobs: Définit les jobs que le workflow exécute.print-greeting: L'identifiant (ID) du job.runs-on: Configure le type de machine (runner) sur lequel le job s'exécute.steps: Regroupe toutes les étapes qui s'exécutent dans le job.run: Exécute une commande dans le shell du runner. Nous utilisonsechopour afficher la valeur deGREETINGsuivie de, World!.
Committer et pousser le workflow mis à jour avec 'env'
À cette étape, vous allez valider (commit) le nouveau fichier de flux de travail et le pousser (push) vers GitHub. La poussée de ce fichier enregistrera le flux de travail auprès de GitHub Actions et déclenchera la première exécution.
- Assurez-vous d'être dans le répertoire du dépôt :
cd ~/project/github-actions-demo
- Mettez en zone de transit (stage) le fichier de flux de travail :
git add .github/workflows/env-demo.yml
- Validez les modifications :
git commit -m "Add workflow with environment variable"
- Poussez les modifications vers le dépôt distant sur GitHub :
git push
Note sur l'authentification :
Lorsque vous exécutez git push, le WebIDE vous invitera automatiquement à vous authentifier. Suivez ces étapes détaillées :
- Une fenêtre contextuelle apparaîtra avec le message : "The extension 'GitHub' wants to sign in using GitHub." Cliquez sur Allow.
- Une nouvelle notification apparaîtra. Cliquez sur "Copy&Continue to GitHub", puis cliquez sur "Open" dans l'invite suivante.
- Connectez-vous à votre compte GitHub dans la fenêtre du navigateur qui s'ouvre, et entrez le code d'autorisation qui a été copié. Après avoir confirmé l'autorisation, la page se fermera automatiquement.
- Attendez quelques secondes, et vous verrez le terminal terminer avec succès l'opération de poussée.
Note sur la confidentialité : Le WebIDE demandera un accès complet à votre compte GitHub à des fins d'authentification. Vous n'avez pas à vous soucier des problèmes de confidentialité - la VM LabEx sera immédiatement détruite après avoir terminé le laboratoire actuel, et vos informations d'identification et d'autorisation ne seront pas conservées.
Déclencher le workflow en poussant un changement
Le workflow est configuré pour s'exécuter lors des événements push. Bien que la poussée précédente ait déjà déclenché le workflow, voyons à quel point il est facile de mettre à jour la variable d'environnement et de le déclencher à nouveau.
- Ouvrez
.github/workflows/env-demo.ymldans le WebIDE. - Changez la valeur de
GREETINGde"Hello"à"Hi".
env:
GREETING: "Hi"
- Commitez et poussez ce changement :
git add .github/workflows/env-demo.yml
git commit -m "Update greeting variable"
git push
Note sur l'authentification :
Si vous ne vous êtes pas authentifié récemment, le WebIDE vous demandera automatiquement de vous authentifier lorsque vous exécuterez git push. Suivez les mêmes étapes d'authentification que celles décrites à l'étape précédente.
Note sur la confidentialité : Le WebIDE demandera un accès complet à votre compte GitHub à des fins d'authentification. Vous n'avez pas à vous soucier des problèmes de confidentialité - la VM LabEx sera immédiatement détruite après avoir terminé le laboratoire actuel, et vos informations d'identification et d'autorisation ne seront pas conservées.
Cette poussée déclenchera une nouvelle exécution du workflow avec la variable mise à jour.
Vérifier la sortie des variables d'environnement dans les journaux d'exécution sur GitHub
Après avoir poussé votre code, le workflow se déclenchera automatiquement sur GitHub. Vous pouvez consulter les journaux d'exécution du workflow pour vérifier que la variable d'environnement est utilisée correctement.
- Visitez votre dépôt sur GitHub dans un navigateur web :
https://github.com/your-username/github-actions-demo - Cliquez sur l'onglet Actions en haut de la page du dépôt.
- Vous devriez voir une nouvelle exécution de workflow listée, probablement nommée "Update greeting variable".
Note : Lorsque vous poussez du code, plusieurs Actions peuvent être déclenchées si vous avez plusieurs fichiers de workflow dans votre dépôt. Veuillez identifier l'exécution de workflow correcte en vérifiant le nom du workflow dans la barre latérale gauche ou en utilisant la liste des exécutions de workflow sur le côté droit.
- Cliquez sur le titre de l'exécution, puis cliquez sur la tâche (job) print-greeting.
- Développez l'étape Print Greeting pour voir la sortie.
Vous devriez voir l'exécution de la commande :
Run echo "Hi, World!"
echo "Hi, World!"
shell: /usr/bin/bash -e {0}
Hi, World!
Remarquez que ${{ env.GREETING }} a été remplacé par sa nouvelle valeur Hi.

Résumé
Dans ce lab, vous avez réussi à créer un workflow GitHub Actions qui utilise des variables d'environnement. Vous avez appris à :
- Définir des variables d'environnement en utilisant le mot-clé
envau niveau du workflow. - Accéder à ces variables dans vos étapes en utilisant la syntaxe
${{ env.VARIABLE_NAME }}. - Mettre à jour la variable et déclencher à nouveau le workflow en poussant des changements.
Les variables d'environnement sont essentielles pour gérer les valeurs de configuration qui peuvent changer entre différents environnements ou exécutions, sans modifier la logique de commande codée en dur.



