web-dev-qa-db-fra.com

Azure DevOps build pipeline déclenchement non fiable par planning

J'exécute des pipelines de construction dans Azure DevOps pour mettre à jour quotidiennement un Dockerfile et reconstruire une image de conteneur avec des dépendances mises à jour. Le but est d'avoir une version à jour d'une dépendance pour le projet et de libérer un nouvel artefact dans le registre de conteneurs.

Dans Azure DevOps, j'ai trois pipelines de génération chaînés. Le premier pipeline est déclenché chaque jour avec un déclenchement planifié. Les deux pipelines suivants sont déclenchés avec des filtres de chemin de fichier de déclenchement CI. Tout cela fonctionne bien, la plupart du temps.

Mon problème est que parfois le calendrier n'est pas déclenché du tout. Cela se produit après que les pipelines ont fonctionné normalement pendant des jours (allant d'environ 1 à 15 jours). La case à cocher "Planifier uniquement les builds si la source ou le pipeline a changé" n'est pas cochée, donc ne pas avoir de commit ne devrait pas être le problème.

Une chose étrange après cette situation de problème est que lorsque je me connecte au portail Azure DevOps, l'événement planifié est immédiatement déclenché et je peux voir que la dernière version quotidienne commence à s'exécuter. Je n'ai pas besoin de le démarrer manuellement, il démarre automatiquement comme prévu, mais au moment de ma connexion.

Ce projet s'exécute avec la version gratuite d'Azure DevOps. Le projet et les pipelines ont été créés lorsque Azure DevOps était VSTS et le même problème de déclenchement était également dans VSTS. Parfois, je manque de quota gratuit, puis je reçois une erreur indiquant que l'agent ne peut pas être démarré. Ce n'est pas le cas lorsque le déclencheur planifié n'est pas en cours d'exécution.

Qu'est-ce qui pourrait causer le problème de déclenchement par le calendrier? Avez-vous rencontré ce même problème? Comment pourrais-je déboguer ou résoudre ce problème et faire fonctionner mes builds de manière fiable? Je ne trouve aucune information de débogage sur les événements de déclenchement, uniquement les journaux de l'agent après que le déclenchement s'est déjà produit. Je n'ai pas encore recréé les pipelines pour savoir si le "redémarrage" aide dans ce cas. C'est ma prochaine étape si aucune meilleure réponse ne vient.

10
Veikko

Mise à jour 07/11/2019 :
Nous avons depuis mis à jour cette logique pour donner 1 mois complet de builds planifiés pour continuer à fonctionner sans aucune activité utilisateur. Les versions nocturnes nécessitent que quelqu'un se connecte quotidiennement.


De la documentation:
Ma version ne s'est pas exécutée. Que s'est-il passé?
Votre organisation Azure DevOps se met en veille cinq minutes après la déconnexion du dernier utilisateur. Après cela, chacun de vos pipelines de construction s'exécutera une fois de plus. Par exemple, pendant que votre organisation est inactive:

  • Une génération nocturne de code dans votre organisation Azure DevOps ne s'exécutera qu'une nuit jusqu'à ce que quelqu'un se reconnecte.
  • Les versions CI d'un dépôt Git externe cesseront de fonctionner jusqu'à ce que quelqu'un se reconnecte.

https://docs.Microsoft.com/en-us/Azure/devops/pipelines/build/triggers?view=vsts&tabs=yaml

10
Eichi