GitHub, le service d’hébergement de projets avec suivi de version qui appartient désormais à Microsoft, a annoncé une nouvelle fonction à venir. GitHub Actions reprend le concept d’intégration continue (continuous integration, CI) qui nécessitait jusque-là un service tiers, mais en l’intégrant à ses serveurs et en lui apportant une interface graphique, plus simple d’accès. Cette fonction peut servir à de nombreuses choses, mais le plus simple est le déploiement automatique d’un projet, souvent après une série de tests.
L’intégration continue a de nombreuses utilités, mais un exemple simple serait un site web publié à partir d’un dépôt Git. Dans le dépôt, vous stockez les sources, par exemple des fichiers Markdown qui correspondant aux pages du site web. Quand vous publiez une modification au projet, l’intégration va consister à générer le site web en utilisant un moteur de blog statique dans notre exemple et ensuite le publier sur le serveur web. Deux étapes au minimum, qui sont ainsi automatisées à chaque fois que vous changez quoi que ce soit. Un autre exemple, nous utilisons cette fonction à MacGeneration pour générer nos livres en ePub.
GitHub présente volontiers cette fonction comme « l’app Raccourcis d’Apple, mais pour le code ». L’idée n’est pas nouvelle, vous pouviez déjà le faire avec des services tiers sur GitHub, et c’est la fonction phare de GitLab, un concurrent champion de l’intégration continue. La différence toutefois, c’est bien l’interface qui permet de créer une automatisation sans avoir à apprendre le langage sous-jacent utilisé. Pour les besoins avancés ou les développeurs qui préfèrent, une version textuelle reste toujours disponible, mais cette approche devrait populariser la fonction.
GitHub Actions est actuellement en bêta fermée et vous pouvez vous inscrire à cette adresse pour essayer d’y participer. Le service n’ouvre pas directement les portes, puisque l’automatisation est réalisée sur ses propres serveurs. Certaines tâches demandent de la puissance, ce qui implique de gérer correctement la montée en charge, d’autant que la fonction sera disponible pour tout le monde, y compris les utilisateurs qui ne paient pas.
En attendant de pouvoir tester la fonction vous-même, vous pouvez la découvrir en détails grâce à sa documentation. Vous y apprendrez notamment que GitHub utilise des conteneurs Docker sous le capot, c'est-à-dire des environnements virtualisés identiques à un serveur.