Comment GitHub utilise... GitHub ?
La vidéo d’opening de la GitHub Universe 2020 est très intéressante.
Je vous laisse la découvrir par vous-même :
Nous allons ensemble décortiquer cette vidéo étape par étape.
- Tout commence par la rédaction d’une idée dans le fil Discussions.
Si l’idée convainc alors l’équipe transforme directement la discussion en Issue :
- Un fois l'Issue créée, le débat technique est lancé : comment réaliser cette évolution ?
L'Issue est complétée avec toutes les informations requises :
La développeuse analyse la demande directement depuis le GitHub CLI :
Elle continue en créant une Branche, installe la dépendance NPM et termine par commiter tout ça :
Grâce au GitHub CLI elle crée directement la PR sur le projet :
C’est parti pour la réalisation directement dans la PR :
Une fois terminé, une vérification des vulnérabilités dans les dépendances NPM est réalisée directement depuis la PR :
Cette évolution utilise beaucoup la dépendance NPM P5.js. L’équipe de développement voulant que le code soit maintenu, ils décident alors de financer celle-ci :
Maintenant que le développement est terminé, ils peuvent passer la PR en ‘Ready for Review’ :
La CI vérifie que tout soit OK :
La PR peut maintenant être intégrée à la branche principale.
Ryan valide l’intégration dans la branche principale
Mais il y a un soucis, la lettre ‘h’ de GitHub est en minuscule. Il décide de corriger lui-même depuis sont iPad avec Codespaces :
La Pull Request peut être validée :
Une release peut être créée :
C’est maintenant que GitHub Actions entre en scène :
- Voici le workflow utilisé :
- Construction de l’application et de la documentation
- Déploiement en environnement de test (staging)
- Déploiement en environnement de production
- L’environnement de staging est prêt :
- L’environnement de production quant à lui a une ‘Protection rule’ :
Ici, seul les utilisateurs de la team octocademy/dev pourrons valider le déploiement de cet environnement
- Une fois la version validée en environnement de staging, les utilisateurs valident le déploiement en production :
- L’environnement de production est déployé en 15 secondes :
- L’Issue peut maintenant être fermée :
- Voici le workflow utilisé :
L’analyse de la vidéo est maintenant terminée.
J’espère avoir répondu à certaines de vos interrogations sur les process utilisés par GitHub 😄