Fermer

avril 23, 2023

Nouveau dans Sitefinity Cloud : modifiez et stockez les configurations Sitefinity directement sur les environnements Sitefinity Cloud

Nouveau dans Sitefinity Cloud : modifiez et stockez les configurations Sitefinity directement sur les environnements Sitefinity Cloud


Ce blog traite des dernières fonctionnalités permettant aux utilisateurs d’éditer les configurations directement dans les environnements Sitefinity Cloud, ou de notre quête du Saint Graal de la gestion de la configuration Sitefinity et de la réponse aux besoins des clients conformément aux meilleures pratiques CI/CD.

Je suis aussi un administrateur de Sitefinity, et j’ai vécu pour raconter l’histoire

Au début, tout était assez simple. Les configurations de Sitefinity ont été stockées dans le système de fichiers. Vous pouvez apporter des modifications, les transformer lors de la publication de votre site Web sur un serveur quelque part et les stocker dans un référentiel de code source. Ah… temps plus simples. Qu’est-ce qui pourrait mal se passer?

Au fil du temps, beaucoup d’entre nous ont dû commencer à traiter des questions de plus en plus pressantes. Comment allons-nous gérer les changements de configuration d’exécution qui diffèrent du code source ? Comment allons-nous maintenir la cohérence des configurations dans plusieurs environnements ? Comment allons-nous récupérer l’application en cas de problème et perdre les fichiers qui ont été modifiés directement sur le serveur ? Ugh…

Et puis, après un moment, il semblait y avoir une réponse à certaines de ces questions. Entrez Mode BD. Ainsi, vous pouvez apporter des modifications d’exécution à partir de l’écran Paramètres avancés sur n’importe quel environnement sans craindre que celles-ci n’entrent en conflit avec les fichiers du code source. Vous pouvez également restaurer facilement votre application à l’aide d’une sauvegarde de la base de données.

Mais encore une fois…

Comment assurez-vous la cohérence si vous devez apporter des modifications à la main dans chaque environnement ? Comment masquer les secrets lorsque vous créez une sauvegarde de base de données qui doit être utilisée par un développeur, afin qu’il n’ait pas accès aux services de production ? Comment restaurer la base de données d’un environnement à un autre sans remplacer les paramètres spécifiques à l’environnement sur la cible ? Ugh…

Nous avons dû nous débattre avec ces mêmes questions car ni les modes FileSystem ni Database n’étaient des solutions complètes. Alors, comment avons-nous résolu ce problème à l’époque ?

Avec Mode de stockage automatique, nous avons combiné la puissance de FileSystem et Base de données :

  • Les configurations d’environnement qui font partie de la configuration du système sont stockées dans le système de fichiers. Ils font partie du processus de déploiement de l’application Web et vous les distribuez sous forme de fichiers entre différents environnements. Ces configurations sont les paramètres avancés de Sitefinity CMS.
  • Les paramètres d’application qui font partie du site Web Sitefinity CMS et dont l’exécution est modifiée sont stockés dans la base de données.

Voici un résumé des différences entre les modes de stockage de la configuration :

""

Et puis nous avons dû tout mettre dans le cloud

Puis Sitefinity Cloud est arrivé, et nous avons dû gérer toute cette complexité en buvant notre propre champagne. Nous voulions nous conformer aux meilleures pratiques CI/CD, nous avons donc combiné le mode Auto avec Mode de système de fichiers en lecture seule. Cela signifie que tous les fichiers de configuration sont en mode système de fichiers en lecture seule sur les environnements Sitefinity Cloud, ce qui rationalise les modifications de configuration du système de fichiers via le code source, ce qui les rend facilement traçables, fusionnables et comparables.

En désactivant la possibilité d’enregistrer les modifications de configuration sur le système de fichiers, le code source devient la seule source de vérité concernant les fichiers de l’application. L’application peut ensuite être facilement récupérée en restaurant une sauvegarde de base de données et en redéployant le dernier package de déploiement. Le mode de système de fichiers en lecture seule protège également l’application sur l’environnement de production contre les modifications accidentelles qui pourraient entraîner des temps d’arrêt en raison de redémarrages ou de configurations indésirables.

Bien que tout cela soit formidable, cela ne répond pas à tous les besoins des clients. Il y a des modifications de configuration que les utilisateurs souhaitent apporter au moment de l’exécution, sans avoir à configurer le projet localement, à valider les modifications et à attendre que le pipeline CI/CD s’exécute.

Ok, supportez-moi ici… le mode de configuration automatique offrait la possibilité d’avoir des fichiers de configuration à la fois sur le système de fichiers et sur la base de données et de les fusionner au moment de l’exécution. Cependant, pour rendre les fichiers de configuration modifiables et stocker les modifications dans la base de données, les développeurs ont dû écrire un code personnalisé qui utilise les API nécessaires sous le capot. La modification facile des fichiers de configuration via l’écran Paramètres d’administration et leur enregistrement dans la base de données n’étaient pas disponibles.

Administrateurs Sitefinity, nous avons des nouvelles pour vous

Comme annoncé dans le notes de version, pour faciliter la nécessité d’apporter facilement des modifications de configuration d’exécution via l’écran Paramètres avancés, les clients Sitefinity Cloud qui ont mis à niveau vers Sitefinity 14.3.8022 (ou supérieur) peuvent désormais profiter des capacités d’édition de configuration améliorées, qui permettent de spécifier quels fichiers, sections ou propriétés de configuration doivent être entièrement modifiables directement sur les environnements Sitefinity Cloud.

Avec ce changement, nous pensons avoir désormais une solution complète qui couvre toutes les bases :

  • Pour les changements de configuration qui ne varient pas d’un environnement à l’autre et ne contiennent pas aucun secret, vous pouvez mettre à jour les fichiers de configuration sur votre environnement de développement local et appliquer les modifications au code source.
  • Pour les modifications de configuration qui doivent varier d’un environnement à l’autre et ne contiennent aucun secret, vous pouvez utiliser des fichiers de transformation de configuration qui seront appliqués lors du déploiement dans différents environnements.
  • Pour les valeurs de configuration qui doivent être secrètes, vous pouvez utiliser des groupes de variables Azure DevOps pour configurer les paramètres d’application et les chaînes de connexion pour l’application. Il s’agit d’une petite fonctionnalité intéressante, car elle vous permet de remplacer des valeurs de configuration spécifiques et de les rendre immuables pour les modifications d’exécution.
  • De plus, toute personne naviguant dans l’application ne pourrait pas voir la valeur réelle, elles sont donc idéales pour les secrets d’API, les clés, etc. De plus, si vous exportez la base de données à partir de n’importe quel environnement et que vous la restaurez localement , les valeurs secrètes ne seront pas là. Ces valeurs sont appliquées lors du déploiement via les paramètres d’application et les chaînes de connexion dans l’App Service hébergeant l’application, elles sont donc conservées directement dans Azure, pas sur le système de fichiers ni dans la base de données.
  • Pour les modifications de configuration d’exécution qui ne contiennent aucun secret, vous pouvez désormais les effectuer directement sur les environnements Sitefinity Cloud.
  • Si vous restaurez la base de données d’un environnement à un autre (pipeline DB.RestoreBetweenEnvironments) ou importez une base de données (pipeline DB.Import), l’option par défaut consiste à conserver les valeurs de configuration Sitefinity sur l’environnement cible. Cela signifie que les valeurs de configuration Sitefinity stockées sur la base de données cible ne seront PAS remplacées par celles de la base de données source. Si vous souhaitez remplacer les configurations sur l’environnement cible, vous pouvez désactiver cette option lorsque vous exécutez le pipeline.

REMARQUE : Ces différentes approches de gestion des configurations ne s’excluent pas mutuellement et peuvent être combinées. Par exemple, vous pouvez avoir une section de configuration disponible pour les modifications de configuration d’exécution sur les environnements Sitefinity Cloud, tout en remplaçant une valeur de configuration spécifique de cette section, car il s’agit d’une clé API qui ne doit pas être visible et modifiable.

Pour plus de détails, veuillez visiter le gérer la documentation des configurations. Vous voulez en savoir plus sur Sitefinity Cloud ?

Parlez à un expert Sitefinity




Source link