Avec Actions, GitHub propose une intégration continue intégrée

Nicolas Furno |

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.

Sur cet exemple donné par GitHub, un projet JavaScript est publié sur npm, le gestionnaire de paquets le plus utilisé dans le domaine, après une série de tests pour vérifier que tout fonctionne correctement.

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.

Capture d’écran fournie par Business Insider.

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.

avatar deltiox | 

A quand un livre sur l’utilisation de Github avec des exemples pour non initié
Je serais preneur

avatar Nicolas Furno | 

@deltiox

Oula, ça me paraît compliqué. :-)

En fait, disons-le autrement : j'aurais sans doute besoin d'un livre sur Git(Hub) moi-même. Alors en écrire un…

avatar byte_order | 

Ca va faire mal à GitLab ça.
Bon, après, l'autre avantage de GitLab, c'est que cela peut être self-hosted, et pour les entreprises de taille suffisante, c'est ce qui fait la différence.

avatar Nicolas Furno | 

@byte_order

Exactement, on a notre serveur GitLab et ça ne nous coûte rien (de plus que le serveur lui-même). Avec GitHub Actions, cela nous coûterait très cher d'avoir le même résultat.

Et je ne suis pas sûr qu'on pourrait avoir exactement le même résultat, d'ailleurs.

avatar Ambobo25000 | 

@byte_order

Ça ne va pas faire mal à Gitlab. Au contraire, Github essaie de rattraper son retard sur les fonctionnalités intégrées de son concurrent open-source.

C'est l'équivalent de Gitlab-Runner que l'on peut héberger soi-même sur le même serveur que son Gitlab ou même ailleurs pour des raisons de performances.

avatar fornorst | 

@Ambobo25000

Yep, c’est surtout ça qui est intéressant avec gitlab : tu peux avoir ton code hébergée chez eux avec tous les avantages que ça apporte (ils s’occupent eux même du backup ce qui est une tâche chiante si tu dois la faire toi) et tu peux avoir des runners chez toi pour des questions de perfs ou de sécurité. Par exemple notre CI déploie nos applications en preprod ou en prod selon le cas. Et je peux le faire très facilement depuis mon réseau sécurisé (en bind montant une socket docker par exemple ou en faisant des accès SSH avec une clé privée qui ne reste que sur mon réseau privé) alors qu’avec Github Actions, tel que je le comprends, ce serait bien plus complexe à gérer au niveau sécurité.
À savoir par contre si c’est une vraie concurrence ou pas : gitlab fait CI + CD (Continuous Delivery) quand Github Actions semble plus focalisé CI

avatar Nicooprat | 

https://buddy.works/ est pas mal aussi pour commencer avec l'automatisation, plutôt accessible aux débutants je trouve.

avatar marc_os | 

Quand on me parle de sources, la dernière chose à laquelle je pense, ce sont bien les fichiers "markdown". Mais pourquoi diable vouloir encore et encore promouvoir un format que macg/igen ne supporte même pas ?
« Faites ce que je dis, mais pas ce que je fais. » ?

avatar christopher.saez | 

Ca ressemble a Bitrise

CONNEXION UTILISATEUR