Fermer

septembre 23, 2021

Premiers pas avec les actions GitHub


L'outil CI/CD construit et utilisé par GitHub—Actions—vous permet de créer, tester et déployer votre code directement à partir de GitHub, en prenant en charge toute l'automatisation pour que cela se passe en douceur. Les possibilités sont infinies !

Quelle partie de votre flux de travail pouvez-vous automatiser en tant que développeur aujourd'hui ? Avec la création de CI/CD avec des outils tels que Jenkins, Circle CI, Travis et autres, vous pouvez facilement automatiser une grande partie de votre flux de travail.

Si vous lisez ceci, vous utilisez probablement GitHub pour héberger et Git pour gérer les versions de tes projets. Et si je vous disais que vous pouvez effectuer ces automatisations directement dans GitHub et gratuitement ?

Qu'est-ce que GitHub Actions ?

Lecteurs d'en-tête GitHub Actions, 'Automatisez votre flux de travail de l'idée à la production'

GitHub Actions est l'outil d'intégration continue et de livraison continue construit et utilisé par GitHub. Il vous permet de créer, tester et déployer votre code directement à partir de GitHub, en prenant en charge toute l'automatisation qui permet que cela se fasse en douceur sans aucun outil CI/CD tiers. Les possibilités que vous pouvez créer et automatiser à l'aide de cela sont infinies, et avec la facilité de travailler directement à partir de l'endroit où votre code est stocké, GitHub ne peut pas être égalé.

Pourquoi est-ce important ?

Cela pourrait être la prochaine chose que vous êtes. se demandant : Pourquoi les actions GitHub sont-elles importantes ? GitHub Actions a beaucoup d'avantages instantanés pour vous, le développeur. La première chose est la flexibilité de créer des workflows d'automatisation directement à partir de GitHub. C'est très important – qu'un service à valeur ajoutée soit superposé à un service que vous utilisez et auquel vous êtes habitué. Vous configurez des actions au même endroit que vous configurez des relations publiques, c'est vraiment cool ?

La prochaine chose qui vous enthousiasmera est que GitHub Actions est gratuit, pour toujours pour tout projet public que vous avez sur GitHub. Je pense que c'est super incroyable, surtout pour les personnes qui aimeraient se lancer dans DevOps, c'est un excellent moyen de le faire. Il prend également en charge Docker et vous pouvez exécuter des actions dans différentes machines virtuelles à l'intérieur de l'infrastructure GitHub.

La dernière chose que je pense est super précieuse est la présence de tant de modèles d'automatisation. Il existe même un marché complet pour cela, où vous pouvez créer une automatisation personnalisée et la partager pour votre communauté.

De quoi est-il composé ?

La configuration des actions GitHub ressemble généralement à ceci :

nom[19659014]: Démo des actions GitHub
sur : [push]
jobs :
  Explore-GitHub-Actions :
    s'exécute sur :  ubuntu - dernier
    steps:
      - run: echo "🎉 La tâche a été déclenchée automatiquement par un ${{ github.event_name }} événement."
      - run: echo "🐧 Ce travail est maintenant exécuté sur un ${{ runner.os }} hébergé par GitHub!"
      - run: echo "🔎 Le nom de votre branche est ${{ github.ref }} et votre référentiel est ${{ github.repository }}."
      - nom : Consulter le code du référentiel
        utilise : actions/checkout@v2
      - run: echo "💡 Le dépôt ${{ github.repository }} a été cloné sur le coureur."
      - run: echo "🖥️ Le workflow est maintenant prêt à tester votre code sur le runner."
      - nom : Lister les fichiers dans le référentiel
        run: |
          ls ${{ github.workspace }}
      - run: echo "🍏 Le statut de cette tâche est $ {{ job.status }}."

Décomposons chaque partie afin que vous puissiez obtenir une image plus claire.

YAML

La première chose que vous voyez est un fichier YAML. Toutes les actions GitHub sont définies dans un fichier YAML et dans un dossier de workflow spécifique que nous verrons plus loin dans cet article. À l'intérieur du fichier, la première chose que vous voyez est le nom du workflow. . Dans la syntaxe ci-dessus, vous pouvez voir que l'événement est « on : [push] », ce qui signifie que, pour ce workflow particulier, l'action est déclenchée une fois qu'un push est effectué vers le référentiel et le travail que vous avez configuré sera exécuter.

Tâches

Une tâche répond littéralement à la question : « Que voulez-vous que je fasse ? » Il contient tout le reste du fichier de workflow, y compris les coureurs, les étapes et les actions. Dans ce bloc, vous définissez tout et configurez toute la logique pour le flux de travail souhaité.

Runners

Les coureurs vous permettent essentiellement de spécifier la machine virtuelle en direct dans l'infrastructure GitHub sur laquelle vous souhaitez que cette automatisation s'exécute. Par défaut, vous obtenez Ubuntu, mais vous pouvez choisir macOS, Linux ou Windows, ou même sélectionner votre propre machine virtuelle personnalisée. La syntaxe que nous avons ci-dessus s'exécute sur la dernière machine virtuelle Ubuntu, indiquée par l'option "runs-on". vous pouvez avoir plus d'une action. Il a généralement un nom, s'exécute et utilise des options. Vous choisissez d'abord un nom pour l'action, puis vous pouvez (facultatif) choisir une commande d'exécution ou utiliser une commande d'action intégrée à GitHub.

Ce que nous construisons

Créons notre première action GitHub simple qui sera un linter qui vérifie notre code pour les erreurs de linting une fois que nous avons poussé le code vers GitHub.

Configuration des actions

La première chose faire est de créer un nouveau dépôt sur GitHub. J'ai appelé le mien LinterAction, mais n'hésitez pas à appeler le vôtre comme quelque chose d'unique.

Création d'un référentiel GitHub appelé linterAction

Initialisez également le fichier ReadMe. Maintenant, pour créer un workflow Action, vous devez créer un nouveau fichier dans le répertoire .github/workflows. C'est une partie très importante et, si elle n'est pas effectuée avec précision, les actions ne fonctionneront pas.

À l'intérieur de ce dossier, créez un fichier vierge.yml ou cliquez sur Actions et choisissez le modèle vierge.

Le modèle vierge a été sélectionné dans les workflows d'action GitHub.

Dans le fichier blank.yml, copiez le bloc de code ci-dessous dedans :

name : My Linter Action

sur :
  
  push :
    branches : [ main ]
  pull_request :
    branches[19659014]: [ main ]

  workflow_dispatch:

jobs:
  
  build:
    
    runs-on: ubuntu-dernière

    étapes :
      
      - utilise : actions/checkout@v2

      - name: Exécuter un script de ligne one-
        run: echo Bonjour, monde !

      - nom : Exécuter le service de linting
        utilise : github/super-linter@v3Test de tout

Les espaces et l'indentation sont très importants, alors prenez-en note. Après la copie, enregistrez le fichier et vous verrez qu'il s'exécute automatiquement et vérifie les règles de linting. Pour cette première version, il ne voit aucune erreur car nous n'avons qu'un fichier readme.

Tous les fichiers ont été lints avec succès sans erreur détectée.

Pour plus de tests, ajoutons un nouveau fichier qui aura des erreurs de linting dans le projet, comme un fichier HTML avec un élément qui n'a pas de balises de fermeture. Créez un nouveau fichier dans le même référentiel et appelez-le index.html.

Copiez le bloc de code ci-dessous à l'intérieur :

<html>  
<div>     
<p> Bonjour je m'appelle Lotanna <p>  
</div>
</html>

Vous pouvez voir que la balise P de fermeture n'est pas correctement fermée. Si vous enregistrez le fichier, l'action exécutera le linter qui révélera le problème.

Erreurs trouvées dans [htmlhint] linter ! Doctype doit être déclaré. La balise doit être associée.

Après avoir corrigé la balise de paragraphe et ajouté un doctype, toutes les vérifications de linting seront réussies, et vous verrez que, pour chaque commit ou chaque PR sur ce projet, l'action de linting sera automatiquement prend place. Cela aidera celui qui doit le fusionner à résoudre immédiatement le problème sans regarder la base de code.

Le test réussit à nouveau, aucune erreur détectée

Conclusion

Vous avez été présenté à GitHub Actions et comment il peut être utilisé pour simplifier votre flux de travail grâce à l'automatisation. Vous avez également vu à quel point c'est important, alors pensez à l'essayer aujourd'hui et parlez-moi de votre première expérience GitHub Actions !




Source link