Fermer

octobre 2, 2023

Introduction aux actions GitHub / Blogs / Perficient

Introduction aux actions GitHub / Blogs / Perficient


Dans le monde actuel du développement de logiciels, où tout évolue rapidement, l’automatisation est la clé de l’efficacité. GitHub Actions est un outil puissant qui peut vous aider à automatiser votre flux de travail, vous faisant gagner du temps et réduisant les erreurs. Dans cet article, je vais découvrir ce qu’est GitHub Actions, comment il fonctionne et comment vous pouvez l’exploiter pour dynamiser votre processus de développement. J’aborderai les aspects qui ne sont pas les plus évidents pour les débutants en lisant le petit guide de GitHub.

Cet article aidera ceux qui souhaitent configurer le déploiement automatique d’un projet depuis la base de code vers leur serveur distant à l’aide de l’outil gratuit Service d’actions GitHub (le plan tarifaire gratuit comporte bien sûr certaines restrictions ; pour des besoins personnels, c’est largement suffisant). Plus encore, ce service peut être utilisé gratuitement, même avec un référentiel privé. Peu importe le langage de programmation ou la pile dont vous disposez : l’essentiel est de comprendre comment fonctionnent les actions GitHub. Dans le prochain article, je montrerai comment l’utiliser avec le projet XM Cloud.

Qu’est-ce que les actions GitHub ?

GitHub Actions est une fonctionnalité fournie par GitHub qui vous permet d’automatiser diverses tâches dans votre flux de travail de développement logiciel. Il vous permet de créer, tester et déployer votre code directement à partir de votre référentiel GitHub, éliminant ainsi le besoin d’outils et de services externes. GitHub Actions est basé sur le concept de « workflows », qui sont des séquences d’étapes personnalisables et automatisées qui s’exécutent en réponse à des événements tels que des envois de code, des demandes d’extraction, etc.

Fichiers de flux de travail

Le fichier de workflow est au cœur de cette technologie : il indique à GitHub quelles actions exécuter et comment. Dans l’onglet Actions de la page du référentiel en fonction de votre code, Github propose différents modèles de fichiers de workflow, commençons par Workflow simple.

Créer

Après avoir créé le your-wokflow-file.yml fichier, vous aurez un dossier dans le référentiel avec le fichier .github/workflows/your-wokflow-file.yml. Vous pouvez créer plusieurs fichiers de flux de travail et les exécuter dans n’importe quelle sous-séquence.

Syntaxe du flux de travail

Les workflows GitHub Actions sont définis à l’aide de la syntaxe YAML. Voici un exemple de base :

name: CI/CD Workflow

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Build and Test
      run: |
        npm install
        npm test

L’idée est donc d’exécuter des processus avec certaines actions avec le code de la branche que vous avez choisie.

Par exemple, déployer signifie que nous devons lancer certains processus :

  • obtenir le dernier code d’une branche spécifiée
  • exécuter la construction
  • déployer les artefacts de build sur le serveur de destination ou les conteneurs intégrés dans leurs registres

Et si vous l’écrivez en tenant compte du fichier workflow, plus en détail cette séquence sera la suivante :

  • GitHub crée une VM avec le système d’exploitation de votre choix.
  • Vérifie votre référentiel : sa présence, git, les branches requises et l’autorisation.
  • Copie votre référentiel sur ce système d’exploitation après une vérification réussie
  • Exécute des révisions et des tests de code, le cas échéant
  • Envoie les modifications que vous avez apportées à votre référentiel à votre serveur distant.
  • Prend des mesures pour que vos modifications prennent effet sur votre site.
  • Effectue certaines actions postérieures, telles que l’échauffement ou la reconstruction d’index

En règle générale, les développeurs divisent la révision du code, l’exécution des tests et le déploiement en tâches distinctes devant être exécutées par des exécuteurs distincts. Un exécuteur dans une terminologie donnée est un serveur qui exécute une tâche.

Déclencheurs de flux de travail

GitHub Actions prend en charge une variété de déclencheurs pour vos flux de travail. Vous pouvez les configurer pour qu’ils s’exécutent sur des événements tels que des push, des demandes d’extraction, des intervalles planifiés ou même des déclencheurs manuels. Cette flexibilité vous permet d’adapter votre automatisation à vos besoins spécifiques.

Actions

La ligne la plus curieuse du fichier workflow est celle avec actions et uses. Dans l’exemple de flux de travail ci-dessus, il s’agit actions/checkout@v3. GitHub Actions dispose d’un riche écosystème d’actions prédéfinies disponibles sur GitHub Marketplace. Ces actions couvrent un large éventail de tâches, du déploiement sur des services cloud comme AWS ou Azure à l’envoi de notifications sur Slack. Vous pouvez facilement intégrer ces actions dans vos flux de travail pour gagner du temps et des efforts. Vous pouvez également voir dans le code source ce que fait l’action.

Mais il est plus facile de consulter la page d’exécution du travail après l’avoir exécuté :

  • copie les variables à l’intérieur du conteneur
  • vérifie la version de git, crée les dossiers nécessaires, écrit un fichier de configuration
  • vérifie le référentiel
  • se connecte
  • copie le référentiel à l’intérieur du conteneur
  • va à la succursale principale

Il existe de nombreuses actions créées par les développeurs qui peuvent être utilisées en sélectionnant celle dont vous avez besoin sur le GitHub Marketplace. Par exemple, j’ai utilisé microsoft/setup-msbuild@v1.1 qui construit ma solution sur un serveur distant.

Secrets et variables d’environnement sécurisé

La sécurité est primordiale lorsqu’il s’agit d’informations sensibles, telles que les clés API ou les jetons d’accès. GitHub Actions fournit un moyen sécurisé de stocker et d’accéder aux secrets, qui peuvent être utilisés comme variables d’environnement dans vos flux de travail, garantissant ainsi la confidentialité de vos données sensibles.

Surveillance et notifications

Avec GitHub Actions, vous pouvez configurer des notifications et une surveillance de vos flux de travail. Recevez des notifications sur l’état de vos builds et déploiements, et agissez en cas de problème.

Surveillance

Extension de code VS

GitHub a introduit le plugin GitHub Actions pour Visual Studio Code, qui vous permet d’afficher et de modifier les flux de travail directement depuis l’éditeur de code. Le plugin est actuellement disponible en mode bêta public.

Initialement, le projet a été développé par la communauté et était destiné à surveiller les actions GitHub. La société a désormais publié un outil permettant d’éditer complètement les flux de travail à partir de Visual Studio Code. Le plugin exploite toutes les innovations de GitHub Actions.

Tout d’abord, le plugin a été développé spécifiquement pour une édition rapide et pratique des processus CI. Par conséquent, les développeurs ont accès à des fonctions familières pour travailler avec du code et à des outils pour suivre les erreurs et surveiller les échecs. Le plugin GitHub Actions comprend les fonctionnalités suivantes :

1. La coloration syntaxique est disponible, vous permettant de comprendre des expressions complexes et de faciliter la navigation dans les grands projets :

1

2. Visual Studio Code fournit des conseils d’édition basés sur la documentation officielle de GitHub Actions, ce qui permet de gagner du temps

2

3. Une vérification de la syntaxe et une mise en évidence des erreurs sont fournies. Le plugin comprend non seulement les erreurs évidentes, mais peut également signaler les liens incorrects et les étapes dans le désordre dans les flux de travail.

3

4. La fonction de saisie semi-automatique du code est disponible.

Le plugin GitHub Actions peut être téléchargé sur le site Web officiel de Visual Studio Marketplace. Si l’utilisateur a déjà installé la version communautaire, celle-ci sera automatiquement mise à jour.

Conclusion

GitHub Actions change la donne pour les flux de travail de développement logiciel modernes. Il rationalise et automatise de nombreuses tâches, vous permettant de vous concentrer sur ce qui compte vraiment : écrire du code de qualité. Que vous soyez un développeur solo ou que vous fassiez partie d’une grande équipe, GitHub Actions peut vous aider à améliorer votre processus de développement et à fournir plus rapidement des logiciels de haute qualité.

Cet article fournit un aperçu théorique des actions GitHub. Dans le message suivantje vais passer en revue l’ensemble du processus de configuration de GitHub Action pour le déploiement de la solution multisite et multi-environnement Sitecore XM Cloud – l’approche que j’utilise pour le CI/CD automatisé avec JumpStart XM Cloud performant solution.






Source link

octobre 2, 2023