Version courte
Avec la nouvelle version de Azure DevOps, une nouvelle documentation au sujet de la mise en place d’un processus d’intégration et de déploiement continu avec Azure DevOps est disponible. Votre retour d’expérience est toujours le bienvenu ! L’organisation Patterns and Practices inclut aussi un repository dédié aux outils et exemples DevOps dans le contexte du SharePoint Framework.
Version Longue
Mon apprentissage des pratiques DevOps
J’ai eu l’occasion de travailler sur la Gestion du Cycle Application (ALM), l’intégration continue (CI), le déploiement continu (CD) et les pratiques DevOps appliqués à SharePoint/Azure/Office 365 depuis plusieurs années. Selon mon expérience, peu importe que vous soyez un développeur indépendant ou membre d’une équipe, l’adoption de pratiques ALM est cruciale à la production de solutions de qualité.
Historiquement, les développeurs SharePoint n’avaient pas énormément d’options viables leur permettant d’implémenter ces pratiques. L’intégration continue de solutions « full trust » avec des définitions en XAML sur Team Foundation Server causait beaucoup plus de difficultés que l’équivalent dans le monde open source. A l’époque où je faisais partie de l’équipe produit d’une solution multilingue pour SharePoint (on prem), il était difficile et lent, bien que faisable, d’automatiser les builds et déploiements.
L’expérience s’est quelque peu améliorée avec les Add-Ins SharePoint et le nouveau système de builds Visual Studio Team Services (originellement appelé build 2015 ou build JSON). A cette période j’ai eu la chance d’explorer ces nouvelles fonctionnalités tout en faisant partie de l’équipe produit Attribute, un produit d’analyse sémantique ayant pour but d’automatiser le renseignement de métadonnées dans SharePoint. Avec tout cet apprentissage, j’ai pu saisir l’opportunité d’écrire des billets de blog et de donner des conférences à ce sujet.
L’union fait la force
Une sorte de magie opère lorsque des individus avec les mêmes intérêts et passions se mettent à collaborer. Et c’est exactement ce qui m’est arrivé ! Au travers des évènements auxquels j’ai participé j’ai pu bâtir un réseau. Ensemble nous avons partagé nos difficultés et nos différentes approches pour les résoudre.
Si vous passez suffisamment de temps dans l’écosystème de développement SharePoint, il est plus que probable que vous rencontriez des piliers de la communauté. J’ai eu la chance d’en rencontrer certains d’entre eux tels que Elio Struyf, Waldek Mastykarz, Andrew Connell et Vesa Juvonen parmi d’autres. Suite à ceci Elio et moi avons commencé à bâtir un repo qui démontrait comment intégrer le SharePoint Framework et Visual Studio Team Services. Le but était de fournir des billets de blog explicatifs en support et sans réelle coordination. Cela a pris bien plus longtemps que nous le pensions originellement de compléter cet exemple car nous avons tous les deux d’autres priorités (travail, sessions, etc…). Par chance il y a plusieurs facteurs qui ont joué en notre faveur :
- En Décembre 2017 Waldek et Andrew ont créé la CLI Office 365 afin de vous aider à scripter et automatiser les tâches administratives sur Office 365 depuis n’importe quelle plateforme.
- En Mars 2018, nous avons discuté avec Vesa qui nous a recommandé de déplacer la documentation dans la documentation officielle de Microsoft et les exemples sous Office Dev PnP.
- En Mai 2018, Microsoft a livré les APIs ALM, réclamées depuis longtemps, ce qui rendit le déploiement d’apps vers SharePoint bien plus facile.
- Peu de temps après que les APIs soient sorties, des commandes correspondantes ont été implémentées dans la Office 365 CLI, simplifiant grandement le problème.
Nouvelle Documentation et repositories
J’aimerai vous présenter ce nouvel article de documentation, qui vous guidera pas à pas vers la mise en place et la configuration de votre pipeline CI/CD pour tout projet SharePoint Framework avec Azure DevOps. Je vous suggère d’essayer et si vous rencontrez des difficultés n’hésitez pas à ouvrir des « issues ». Mieux encore, laissez moi vous présenter le repo des pratiques de Build et Déploiement pour le SharePoint Framework. Ceci est la première étape ayant pour objectif de documenter les procédés ALM pour le développement SharePoint. De quelle manière pourriez-vous y contribuer ? Y-a-t-il quelque chose que vous aimeriez voir et qui n’y figure pas aujourd’hui ? CircleCI ? AppVeyor ? Travis ? Jenkins ?
A propos de ce blog
Vous avez probablement remarqué que ce blog est un peu moins actif depuis environ un an. Les raisons principales étant GitHub et Stack Overflow. Ces plateformes ont réellement changé le développement en général depuis quelques années. De mon point de vue il est bien plus intéressant pour la communauté si le savoir qui se serait retrouvé dans un billet de blog est directement incorporé à un projet open source. Même chose si le savoir répondant à une question ou l’information relative à un bug est partagé sur des plateformes qui fournissent plus de visibilité, des mécaniques pour trier/répartir/corriger le problème etc.
Conclusions et remerciements
Cette aventure m’a permis d’apprendre énormément de choses et de rencontrer beaucoup de monde. En plus des personnes que j’ai déjà mentionnées, j’aimerai remercier Haniel Croitoru qui a relu et corrigé la version Anglaise de cet article.