Effectuer une exécution à sec de votre mise à niveau dans un environnement de préproduction

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Dois-je m’embêter ?

Il est fortement recommandé d’effectuer une exécution à sec de votre mise à niveau dans un environnement de préproduction, mais cela n’a pas toujours de sens. Si vous discutez de la possibilité d’effectuer ou non une mise à niveau avant production, évaluez les coûts de cette mise à niveau par rapport aux coûts de ne pas le faire. En particulier, si un problème se produit avec votre mise à niveau de production, le coût principal sera le temps d’arrêt impliqué pendant la restauration vers l’ancienne version de TFS. Selon les spécificités de votre mise à niveau, il peut s’agir d’un processus rapide et simple, ou peut prendre beaucoup de temps et impliquer un grand nombre de pièces mobiles. Tout comme avec la mise à niveau, la complexité de la restauration dépend de choses telles que la taille de vos bases de données, le nombre de machines impliquées, etc.

Concepts de base

Si vous décidez de passer à une mise à niveau de préproduction, le processus général se compose des éléments suivants :

  1. Mettre en place un environnement de préproduction similaire à votre environnement de production.
  2. Protection de votre environnement de production.
  3. Restauration de bases de données à partir de sauvegardes.
  4. Effectuer la mise à niveau.

Mise en place d’un environnement

Dans un monde idéal, votre environnement de préproduction ressemblerait exactement à votre environnement de production : de cette façon, vous obtiendriez une image aussi précise que possible de la durée de votre mise à niveau, si vous rencontrerez des problèmes en cours de route, etc. Toutefois, dans le monde réel, cela n’est pas toujours possible ou souhaitable. Les coûts liés à l’approvisionnement d’un deuxième ensemble de machines identiques pour les tests de préproduction peuvent être prohibitifs. Ne laissez pas ces écarts vous dissuader, mais presque n’importe quel environnement de préproduction est préférable à rien.

Protection de la production

Les bases de données TFS contiennent un certain nombre de paramètres qui pointent vers différentes ressources dans leur environnement de déploiement. Par exemple, les chaînes de connexion à la base de données de collecte sont stockées dans la base de données de configuration, tout comme le partage réseau utilisé par la fonctionnalité de sauvegardes planifiées. Par conséquent, il est possible qu’un environnement de préproduction provoque des problèmes dans un environnement de production, et il est recommandé de prendre des mesures pour éviter cela lors de la mise en place d’un environnement de préproduction.

L’étape la plus importante que vous pouvez effectuer consiste à utiliser un compte de service dans votre environnement de préproduction qui ne dispose d’aucune autorisation sur votre environnement de production. Dans l’idéal, il ne doit pas disposer d’autorisations dans TFS, dans SQL, sur les partages réseau, etc. Les options ici incluent le service réseau (en supposant que votre compte d’ordinateur de préproduction n’a pas besoin d’autorisations en production) ou un compte de domaine de préproduction dédié, comme dans l’exemple ci-dessous.

Exemple de compte de service de préproduction

Une autre étape facultative consiste à ajouter des entrées aux fichiers hôtes de vos ordinateurs de préproduction pour mapper les noms de vos machines de production à des adresses IP non valides. Consultez l’entrée Wikipédia ici si vous ne savez pas ce qu’est un fichier hosts. Cela peut empêcher les communications sortantes vers vos machines de production à partir de vos machines de préproduction.

Exemple héberge la redirection de fichiers AT et DT

Restauration de bases de données

Si vous utilisez l’Assistant Sauvegardes planifiées pour générer des sauvegardes de base de données à partir de votre déploiement de production, vous pouvez également l’utiliser pour restaurer des sauvegardes sur votre déploiement de préproduction. Si ce n’est pas le cas, vous pouvez bien sûr suivre les procédures SQL standard pour restaurer les sauvegardes. Votre liste de bases de données à sauvegarder et à restaurer doit toujours inclure votre base de données de configuration et toutes vos bases de données de collection. Si votre environnement de préproduction inclut des fonctionnalités de création de rapports, vous devez également inclure les bases de données d’entrepôt et de serveur de rapports.

Effectuer la mise à niveau

Installez la nouvelle version de TFS sur vos ordinateurs de la couche Application. Avant d’exécuter l’Assistant Mise à niveau, exécutez la commande ChangeServerId. Cela garantit que vous ne rencontrez pas de problèmes si vous accédez à vos environnements de production et de préproduction à partir des mêmes clients, et doit être effectué chaque fois que vous clonez une collection ou un déploiement complet.

Une fois que vous êtes prêt, mettez à niveau votre environnement de préproduction en suivant les mêmes étapes que celles que vous utiliserez pour mettre à niveau la production. N’oubliez pas d’utiliser un compte de service qui ne dispose d’aucune autorisation dans votre environnement de production.

Configurer de nouvelles fonctionnalités

Certaines mises à niveau introduisent de nouvelles fonctionnalités qui prennent des mesures supplémentaires à configurer, car elles impliquent des modifications de processus dans vos projets existants. Selon les spécificités de vos projets et la version de TFS à partir de laquelle vous effectuez la mise à niveau, cela peut être plus ou moins compliqué. Cliquez ici pour obtenir des détails.

Essayer des choses

Sortez le serveur de préproduction pour un tour ! Fouillez un peu, essayez quelques-unes des nouvelles fonctionnalités... Notez que certaines choses, telles que l’exécution de builds, nécessitent une configuration supplémentaire.

Si vous rencontrez des problèmes, essayez de les résoudre ici afin d’éviter de les rencontrer à nouveau en production. Lorsque vous êtes satisfait, appelez-le un jour et passez à votre mise à niveau de production.