Portes de déploiement

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Les portes autorisent la collection automatique de signaux d’intégrité à partir de services externes, puis promeuvent la mise en production lorsque tous les signaux réussissent ou arrêtent le déploiement à l’expiration du délai d’attente. En règle générale, les portes sont utilisées en lien avec la gestion des incidents, la gestion des problèmes, la gestion des modifications, la surveillance et les systèmes d’approbation externes.

Cas d'utilisation

Voici quelques cas d’usage courants pour les portes de déploiement :

  • Gestion des incidents : assurez-vous que certains critères sont remplis avant de poursuivre le déploiement. Par exemple, assurez-vous que le déploiement se produit uniquement si aucun bogue de priorité zéro n’existe.
  • Rechercher des approbations : informez les utilisateurs externes (services juridiques, auditeurs ou responsables informatiques) d’un déploiement en procédant à une intégration d’autres services, tels que Microsoft Teams ou Slack, et attendez leur approbation.
  • Validation de la qualité : interrogez les métriques de pipeline telles que le taux de réussite ou la couverture du code et déployez uniquement si elles se trouvent dans un seuil prédéfini.
  • Analyse de sécurité : effectuez des vérifications de sécurité telles que l’analyse des artefacts, la signature de code et la vérification de la stratégie. Une porte de déploiement peut lancer l’analyse et attendre qu’elle se termine, ou simplement vérifier l’achèvement.
  • Expérience utilisateur relative à la ligne de base : en vous aidant des données de télémétrie de produit, vérifiez que l’expérience utilisateur n’a pas régressé par rapport à la base de référence. Les métriques d’expérience utilisateur avant le déploiement peuvent être utilisées comme ligne de base.
  • Gestion des changements : attendez que les procédures de gestion des changements dans un système tel que ServiceNow se terminent avant de poursuivre le déploiement.
  • Intégrité de l’infrastructure : exécutez le monitoring et validez l’infrastructure par rapport aux règles de conformité après le déploiement, ou attendez une utilisation saine des ressources et un rapport de sécurité positif.

La plupart des paramètres d’intégrité varient au fil du temps, changeant régulièrement leur état de sain à non sain, puis de nouveau à sain. Pour tenir compte de ces variations, toutes les portes sont réévaluées périodiquement jusqu’à ce qu’elles réussissent toutes en même temps. L’exécution et le déploiement de la mise en production ne sont pas exécutés si toutes les portes ne réussissent pas dans le même intervalle et avant le délai d’expiration configuré.

Définir une porte pour un index

Vous pouvez activer les portes au début d’un index (conditions de prédéploiement) ou à la fin d’un index (conditions post-déploiement) ou pour les deux. Pour plus d’informations, consultez Configurer des portes.

Le retard avant l’évaluation est un délai au début du processus d’évaluation de la porte qui permet aux portes d’initialiser, de stabiliser et de commencer à fournir des résultats précis pour le déploiement actuel. Pour plus d’informations, consultez Flux d’évaluation de la porte.

Capture d’écran montrant le retard avant la fonctionnalité d’évaluation dans les portes.

  • Pour les portes de prédéploiement, le retard est le temps nécessaire à la journalisation de tous les bogues par rapport aux artefacts en cours de déploiement.
  • Pour les portes post-déploiement, le retard est la durée maximale nécessaire à l’application déployée pour atteindre un état opérationnel stable, du temps nécessaire à l’exécution de tous les tests requis sur la phase déployée et du temps nécessaire à la journalisation des incidents après le déploiement.

Les portes suivantes sont disponibles par défaut :

  • Appeler la fonction Azure : déclenchez l’exécution d’une fonction Azure et garantissez la réussite de l’opération. Pour plus d’informations, consultez Tâche de fonction Azure.
  • Interroger les alertes Azure Monitor : observez les règles d’alerte Azure Monitor configurées pour les alertes actives. Pour plus d’informations, consultez Tâche Azure Monitor.
  • Appeler une API REST : appelez une API REST et continuez si elle retourne une réponse correcte. Pour plus d’informations, consultez Appeler une tâche d’API REST.
  • Interroger les éléments de travail : assurez-vous que le nombre d’éléments de travail correspondants renvoyés par une requête est compris dans un seuil. Pour plus d’informations, consultez Tâche d’éléments de travail de requête.
  • Évaluation de la sécurité et de la conformité : évaluez la conformité Azure Policy des ressources contenues dans l’étendue d’un abonnement et d’un groupe de ressources donnés, et éventuellement à un niveau de ressource spécifique. Pour plus d’informations, consultez Vérifier une tâche de conformité Azure Policy.

Capture d’écran montrant les portes par défaut.

Vous pouvez également créer vos propres portes avec des extensions de la Place de marché.

Les options d’évaluation qui s’appliquent à toutes les portes sont les suivantes :

  • Délai entre la réévaluation des portes. Intervalle de temps entre les évaluations successives des portes. À chaque intervalle d’échantillonnage, de nouvelles requêtes sont envoyées simultanément à chaque porte et les nouveaux résultats sont évalués. Il est recommandé que l’intervalle d’échantillonnage soit supérieur au temps de réponse standard le plus long des portes configurées pour permettre à toutes les réponses d’être reçues pour l’évaluation.
  • Délai d’expiration avant l’échec des portes. Période d’évaluation maximale pour toutes les portes. Le déploiement est rejeté si le délai d’expiration est atteint avant que toutes les portes réussissent pendant le même intervalle d’échantillonnage.
  • Portes et approbations. Sélectionnez l’ordre d’exécution requis pour les portes et les approbations si vous avez configuré les deux. Pour les conditions de prédéploiement, la valeur par défaut consiste à demander d’abord des approbations (utilisateur) manuelles, puis à évaluer les portes par la suite. Cela évite au système d’évaluer les fonctions de porte si la mise en production est rejetée par l’utilisateur. Pour les conditions de post-déploiement, la valeur par défaut consiste à évaluer les portes et à demander des approbations manuelles uniquement lorsque toutes les portes réussissent. Cela garantit que les approbateurs disposent de toutes les informations nécessaires à l’approbation.

Pour plus d’informations sur l’analytique des portes, consultez Afficher les journaux d’approbation et Surveiller et suivre les déploiements.

Exemples de flux d’évaluation de porte

Le diagramme suivant illustre le flux d’évaluation de porte dans lequel, après la période de retard de stabilisation initiale et trois intervalles d’échantillonnage, le déploiement est approuvé.

Capture d’écran montrant le diagramme de flux d’évaluation des portes.

Le diagramme suivant illustre le flux d’évaluation de porte dans lequel, après la période de retard de stabilisation initiale, toutes les portes n’ont pas réussi à chaque intervalle d’échantillonnage. Dans ce cas, une fois le délai d’expiration expiré, le déploiement est rejeté.

Capture d’écran montrant des exemples d’approbations et d’échecs de portes.

Ressources