Mise en place d’un Framework interne via NuGet sur Azure @ Infinite Square
Les projets utilisant les nouvelles technologies Microsoft se multipliant, nous avons décidé de prendre le temps d'investir dans la création d'un Framework interne afin de gagner en efficacité.
Les avantages sont multiples :
- Moins de duplication de code dans les projets clients. Le code peut être centralisé dans le Framework et réutilisé partout !
- L'expertise technique est capitalisée dans le Framework. Un développeur encore junior sur une nouvelle technologie pourra bénéficier du savoir faire d'autres développeurs plus séniors qui auront écrit des Helpers et autres dans le Framework
- L'uniformisation de l'écriture de code est appuyée par l'existence du Framework, soit en regardant le code qui y est écrit, soit en y ajoutant du code soi-même tout en suivant les normes et bonnes pratiques mises en places
Lorsque l'on parle de gestion d'un repository de binaire, NuGet est un standard qui s'impose de lui-même:
- Plus de binaires dans le gestionnaire de code source. Ceux ci sont récupérés automatiquement lors de la compilation de la solution (que ce soit en local ou sur un serveur)
- La mise à jour des versions se fait à la demande (après vérification que la nouvelle version n'entraine aucune régression dans la solution)
- Il est très facile d'interfacer une Build serveur avec la génération et la publication d'un nouveau package dans NuGet
Cependant, une autre problématique est apparue, de par notre fonctionnement en tant que société de service, due à nos déplacements très fréquents, voire notre impossibilité à passer "au bureau", soit venir nous connecter à notre réseau interne pour accéder au serveur NuGet.
C'est à ce moment que Windows Azure, l'offre Cloud de Microsoft, est apparue comme une solution de choix :
- L'offre web permet d'héberger à moindre coût notre serveur web NuGet
- Seule petite difficulté de cette solution : Quelques astuces à savoir pour gérer correctement la sécurité du serveur NuGet
Voila donc une solution sur mesure et facile à mettre en place pour les besoins d'Infinite Square.
Chacune des briques de cette solution étant très flexible, celle-ci est aisément déclinable pour des utilisations internes ou encore pour distribuer des composants non Framework publiquement.
Commentaires