Introduction
Avec la sortie de Sitecore 10, nous prenons désormais en charge l’exécution de l’application à l’intérieur de conteneurs et le déploiement sur Kubernetes (K8s). Dans un article précédent, « Sitecore, Docker et l’intégration continue », nous avons expliqué comment automatiquement construire vos images. Dans cet article, nous examinons les étapes finales qui sont exécutées une fois que les images nouvellement créées sont disponibles dans Container Registry. Avant d’entrer dans le vif du sujet, cependant, nous voulons mettre en évidence quelques ressources importantes pour les développeurs. Vous pouvez télécharger un ensemble complet des spécifications K8s à partir de dev.sitecore.com. Vous trouverez également un guide d’installation complet qui vous permettra de passer d’une instance propre de K8s à une instance entièrement déployée et en cours d’exécution de Sitecore 10.
Si vous débutez avec Kubernetes et que vous n’êtes pas familier avec les concepts de clusters, de nœuds, de pods et d’autres éléments qui le sous-tendent, vous voudrez probablement vous mettre à jour avant d’aller plus loin. Le site Kubernetes propose d’excellents tutoriels pour vous présenter les concepts clés.
Une fois que vous savez comment déployer Sitecore sur K8s, vous pouvez utiliser les mêmes spécifications comme base pour créer et automatiser votre déploiement.
Regardez la vidéo accompagnant cet article ci-dessous, qui comprend des démonstrations de ces concepts. Ou regardez-le sur Découvrez Sitecore sur YouTube.
Automatisation d’un déploiement basé sur un conteneur
L’automatisation d’un déploiement basé sur des conteneurs est un peu différente d’un déploiement classique. Vous pouvez voir le flux dans ce diagramme du processus complet de bout en bout :
Comme indiqué ci-dessus, dans cet article, nous examinons les étapes finales qui sont exécutées une fois que les images nouvellement créées sont disponibles dans Container Registry :
Une fois les images créées, les spécifications sont mises à jour pour référencer le nouveau tag d’image et celles-ci sont envoyées à l’instance K8s. K8s créera ensuite de nouveaux pods basés sur les nouvelles images de conteneur et basculera le trafic vers ces nouveaux pods à un rythme contrôlé. Vous pouvez également contrôler la façon dont ce changement est effectué : peut-être souhaitez-vous opter pour un déploiement bleu/vert avec un basculement manuel, ou peut-être souhaitez-vous effectuer un déploiement Canary afin que seuls certains utilisateurs voient la nouvelle version. Ces deux approches, ainsi que d’autres approches de déploiement, sont réalisables lorsque l’on travaille avec des K8.
Déploiement de vos modifications de contenu
Aucun déploiement Sitecore n’est complet sans une mise à jour de contenu. Heureusement, la nouvelle interface de ligne de commande Sitecore publiée avec la version 10 en fait un jeu d’enfant ! En quelques commandes seulement, vous pouvez vous authentifier auprès d’Identity Server, envoyer vos modifications de contenu et enfin effectuer une publication complète des modifications.
Cela peut vous donner l’assurance que ce qui se trouve dans votre système de contrôle de code source est ce qui s’exécute dans la production, non seulement du point de vue du code, mais aussi en incluant votre contenu appartenant au développeur.
Exemple de site MVP
Si vous voulez voir un exemple complet de bout en bout de ce processus, vous pouvez le voir sur le nouveau MVP site repo que nous avons publié en Open Source récemment. Dans ce dépôt, vous trouverez une définition YAML complete YAML pour un déploiement sur Azure Kubernetes Service (AKS).