L’année dernière a été dévoilé GitHub Actions, une API disponible sur GitHub, permettant d’organiser n’importe quel workflow, lié à n’importe quel événement.
L’exécution, les feedbacks et la sécurité de chaque étape du processus y sont directement gérés. Les workflows et différentes étapes deviennent alors du code dans un dépôt afin de plus facilement créer, partager, et réutiliser les bonnes pratiques de développement de logiciel.
Aujourd’hui, GitHub annonce le lancement de sa nouvelle version GitHub Actions disponible en bêta, dans laquelle la CI/CD sera supportée gratuitement pour les dépôts public. Dès aujourd’hui, les développeurs peuvent effectuer leurs retours, avant sa disponibilité globale, planifiée le 13 novembre.
Inscrivez-vous à la version bêta >
Une CI/CD rapide pour tous les OS, tous les langages, et tous les clouds
GitHub Actions facilite l’automatisation de la création, du test et du déploiement de projets sur toutes les plateformes, y compris Linux, macOS et Windows. Aujourd’hui, il est possible d’exécuter les workflows dans un conteneur ou une machine virtuelle (raw VM). Dorénavant, GitHub Actions supporte plus de langages et de frameworks que jamais, y compris Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android et iOS. De plus, concernant des applications multi-conteneurs, un test de l’ensemble du service web et de sa base de données est disponible en ajoutant simplement `docker-compose` au fichier workflow.
Les builds matriciels
Les builds matriciels (matrixed builds) permettent de tester facilement plusieurs versions d’un projet en parallèle. Il est possible d’ajouter quelques lignes au fichier YAML et GitHub se chargera automatiquement du reste.
Les logs en direct permettent d’avoir des retours en temps réel
Les logs en direct offrent d’amples retours sur l’avancée des builds pendant leur exécution. GitHub transfère les logs à la console Actions afin d’afficher le statut en temps réel. Les logs sont donc formatés pour une lecture plus fluide, emojis compris. 🎉
Par ailleurs, afin de discuter d’un éventuel échec d’un build ou d’un résultat de test en particulier, il suffit désormais d’ajouter un permalien vers n’importe quelle ligne et ce, dans n’importe quel fichier de log.
Écrire et réutiliser des actions et workflows comme du code
GitHub Actions repose bel et bien sur du code et offre ainsi la possibilité d’édition, de réutilisation, de partage et de création de forks. Puisque le fork d’un dépôt comprend aussi bien son code source que ses actions, le test et la création des projets en utilisant les mêmes GitHub Actions que le projet d’origine sont simplifiés.
L’objectif est de bénéficier des enseignements et des succès de la communauté, basé sur la reproduction de chaque étape d’un projet en effectuant un fork, pour répondre aux exigences spécifiques de chacun.
GitHub Actions utilise une nouvelle syntaxe simplifiée et clarifiée afin d’exprimer les workflows basés sur YAML. Les actions et les workflows peuvent être réutilisés grâce à de simples références de dépôt. Ainsi, ils peuvent être réunis pour former de puissants workflows. Par ailleurs, ils peuvent être écrits en JavaScript ou par une création d’une Action conteneur : tous deux peuvent interagir avec toute API GitHub ainsi que toutes les API publiques.
Y est également comprise la réutilisation du riche écosystème d’Actions proposé par les partenaires de GitHub comme LaunchDarkly, mabl, Code Climate, ou GitKraken. GitHub Actions peut également être utilisé pour déclencher des builds chez d’autres fournisseurs de CI, comme par exemple CircleCI.
Automatisation des workflows sur n’importe quel événement, même ceux personnalisés
Alors que GitHub Actions est utilisé pour construire, tester et déployer des applications, cette nouvelle version automatise également d’autres tâches communes du workflow : trier et gérer les éventuelles issues, automatiser les publications, collaborer avec d’autres développeurs… Les workflows Actions peuvent être déclenchés sur des événements sur tout le cycle de développement. Toutes les applications GitHub peuvent à présent ajouter leurs propres événements personnalisés afin d’offrir aux développeurs et aux partenaires une personnalisation enrichie, dans l’objectif de répondre à des besoins spécifiques, propres à chaque projet.
Un registre de paquets et de conteneurs
La publication de paquets et de conteneurs est un élément clé dans tout workflow CI/CD, comme les librairies open source ou le déploiement d’un service web important. GitHub Actions permet de publier et de consommer facilement des paquets du GitHub Package Registry ou de tout autre registre. Les développeurs pourront également bénéficier d’un accès à GitHub Package Registry, afin d’automatiser leur workflow à tous les niveaux, dans les issues et le code, à partir du build jusqu’au déploiement.
Des suggestions de workflows pour un démarrage rapide
GitHub souhaite permettre aux utilisateurs de démarrer aussi facilement que possible avec la CI/CD sur Actions. Désormais, lorsqu’un développeur active Actions pour son dépôt, GitHub lui suggère des workflows, pertinents pour son projet.
Une tarification simple, adaptée à l’utilisation
Chaque projet open source doit pouvoir être productif et utiliser les meilleures pratiques. C’est la raison pour laquelle les 40 millions de développeurs sur Github peuvent utiliser Actions gratuitement sur les dépôts publics. Concernant les dépôts privés, Actions offre une tarification simple, basée sur l’utilisation de chacun. Les runners auto-hébergés sont proposés gratuitement par GitHub pour les développeurs souhaitant travailler sur leur propre matériel ou sur un autre cloud. En outre, pendant la version bêta, GitHub Actions est gratuit pour tous.
Et pour la suite ?
Cette version de GitHub Actions offre également de nouvelles fonctionnalités :
· Runners auto-hébergés. Il est aujourd’hui possible d’utiliser Actions pour automatiser les workflows avec la même simplicité et rapidité, sur ses propres machines virtuelles dans les centres de données ou sous forme d’instances, gérés dans le cloud. Il suffit d’installer le runner Actions sur sa propre machine virtuelle et les enregistrer sur Actions. Les tâches exécutées sur les runners auto-hébergés sont totalement gratuites.
· Actions pour GitHub Enterprise Server. L’année prochaine, GitHub Actions sera disponible pour les clients GitHub Enterprise Server, comprenant une option hybride pour des déploiements sur le site, qui conserve le code et les paquets dans les centres de données pendant que GitHub organise les workflows.
Inscription pour la version bêta
D’autres informations sont disponibles sur le site GitHub.
Cette version bêta est dès aujourd’hui disponible gratuitement jusqu’à son lancement global lors de GitHub Universe, le 13 novembre 2019.