Introduction et Configuration de GitHub Actions

GitBeginner
Pratiquer maintenant

Introduction

GitHub Actions est une plateforme d'intégration continue et de livraison continue (CI/CD) qui vous permet d'automatiser votre pipeline de construction (build), de test et de déploiement. Vous pouvez créer des flux de travail (workflows) qui construisent et testent chaque pull request de votre dépôt, ou déploient les pull requests fusionnées en production.

Dans ce laboratoire, vous apprendrez la configuration initiale requise pour commencer à utiliser GitHub Actions. Vous passerez par le processus de création d'un dépôt GitHub, de son clonage vers votre environnement de développement local, et de la configuration de la structure de répertoire spécifique que GitHub Actions exige pour reconnaître vos flux de travail.

Prérequis

  • Un compte GitHub (https://github.com). Si vous n'avez pas de compte GitHub, vous devez d'abord vous inscrire pour un compte gratuit sur https://github.com/signup. Ceci est un prérequis pour terminer ce laboratoire.
  • Une connaissance de base de la ligne de commande.

Créer un nouveau dépôt sur le site web GitHub

Dans cette étape, vous allez créer un nouveau dépôt (repository) sur le site web de GitHub. Ce dépôt servira de stockage distant pour votre projet et d'emplacement où les workflows GitHub Actions s'exécuteront.

  1. Ouvrez votre navigateur web et accédez à https://github.com.
  2. Connectez-vous à votre compte GitHub.
  3. Dans le coin supérieur droit de n'importe quelle page, utilisez le menu déroulant + et sélectionnez New repository (Nouveau dépôt).
  4. Dans le champ Repository name (Nom du dépôt), tapez github-actions-demo.
  5. Sélectionnez Public (GitHub Actions est gratuit pour les dépôts publics).
  6. Cochez la case Add a README file (Ajouter un fichier README). Cela garantit que le dépôt est initialisé et prêt à être cloné.
  7. Cliquez sur Create repository (Créer un dépôt).
Create a new repository on GitHub website

Vous avez maintenant créé un dépôt distant. Dans les étapes suivantes, vous allez amener ce dépôt dans votre environnement local.

Cloner le dépôt sur la VM Ubuntu en utilisant la commande git clone

Dans cette étape, vous allez cloner le dépôt que vous venez de créer sur votre environnement LabEx local. Cela vous permettra d'éditer des fichiers et de créer des flux de travail (workflows) localement.

  1. Sur la page de votre dépôt GitHub, cliquez sur le bouton vert Code.
  2. 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.
  3. Ouvrez le terminal dans l'environnement LabEx. Le chemin par défaut est ~/project.
  4. Utilisez la commande git clone pour télécharger le dépôt. Remplacez your-username par votre nom d'utilisateur GitHub réel.
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git

Exemple de sortie :

Cloning into 'github-actions-demo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
  1. Vérifiez que le répertoire a été créé :
ls -F

Vous devriez voir github-actions-demo/ listé.

Créer un répertoire .github/workflows dans le dépôt

GitHub Actions recherche les fichiers de configuration des workflows dans un répertoire spécifique au sein de votre dépôt : .github/workflows. Dans cette étape, vous allez créer cette structure de répertoire.

  1. Assurez-vous d'être à l'intérieur du répertoire du dépôt :
cd ~/project/github-actions-demo
  1. Créez le répertoire .github et le sous-répertoire workflows à l'intérieur en utilisant la commande mkdir avec l'option -p (parents) :
mkdir -p .github/workflows
  1. Git ne suit pas les répertoires vides. Pour nous assurer que nous pouvons commettre cette structure à l'étape suivante, créons un fichier de workflow vide simple nommé main.yml à l'intérieur de ce répertoire.
touch .github/workflows/main.yml
  1. Vérifiez la structure :
ls -R .github

Exemple de Sortie :

.github:
workflows

.github/workflows:
main.yml

Cette structure est essentielle. GitHub ne reconnaîtra comme workflows d'Action que les fichiers YAML placés dans .github/workflows.

Valider et pousser les changements de répertoire en utilisant git add, git commit et git push

Dans cette étape, vous allez commiter la nouvelle structure de répertoire et la pousser vers GitHub.

  1. Mettre en zone de staging les nouveaux fichiers pour le commit :
git add .
  1. Commiter les modifications avec un message descriptif :
git commit -m "Setup GitHub Actions workflow directory"

Exemple de sortie :

[main ... ] Setup GitHub Actions workflow directory
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 .github/workflows/main.yml
  1. Pousser 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 :

  1. Une fenêtre contextuelle apparaîtra avec le message : "The extension 'GitHub' wants to sign in using GitHub." Cliquez sur Allow.
  2. Une nouvelle notification apparaîtra. Cliquez sur "Copy&Continue to GitHub", puis cliquez sur "Open" dans l'invite suivante.
  3. 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.
  4. Attendez quelques secondes, et vous verrez le terminal terminer avec succès l'opération de push.
GitHub Authentication

Note de 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.

Ce processus d'authentification ne nécessite aucune configuration manuelle du nom d'utilisateur ou du Personal Access Token (Jeton d'Accès Personnel).

Après avoir suivi les étapes d'authentification, vous verrez une sortie similaire à ce qui suit :

Exemple de sortie :

Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (5/5), 388 bytes | 388.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/your-username/github-actions-demo.git
   2e0917f..a191a97  master -> master
  1. Visitez votre dépôt sur GitHub dans un navigateur web pour confirmer que le répertoire .github/workflows et le fichier main.yml sont maintenant visibles dans la structure du dépôt.

Résumé

Dans ce laboratoire, vous avez réussi à mettre en place les bases pour utiliser GitHub Actions. Vous avez :

  1. Créé un nouveau dépôt (repository) sur GitHub.
  2. Cloné le dépôt dans votre environnement local.
  3. Créé la structure de répertoire obligatoire .github/workflows.
  4. Committé et poussé ces changements vers GitHub.

Avec cette structure en place, vous êtes maintenant prêt à définir des flux de travail (workflows) CI/CD en modifiant les fichiers YAML dans le répertoire workflows.