Bonjour à tous,

Je suis entrain de mettre en place un déploiement continu avec l'architecture gitlab-ci + AWX ansible (architecture microservices dockerisé)

Ce qui semble être suggéré pour ce problème c'est d'utiliser les webhook gitlab.

Dans mon cas je veux qu'un template de déploiement soit runné quand le CI gitlab termine. Du coup j'ai branché l'évenement PIPELINE et paramétré le webhook pour pointer vers AWX.

Cette partie là fonctionne bien.

La question est dans le filtrage du webhook. En effet l’événement PIPELINE dans gitlab est tres bavard, alors que ce qui m'interresse c'est que le cas success sur une certaine branche. Apparemment il n'y a pas d'autre solutions que de filtrer cela directement via un playbook (avec des assert), mais cela fait beaucoup de bruit dans AWX qui a plein de runs de mon template de déploiement qui réagissent juste a un des events qui ne intéressent pas, et ne conduisent pas au final a un déploiement...

Je trouve que même si ça marche, pour le suivi c'est vraiment pas top... Comment faites vous de votre côté pour ceux qui ont des archi similaires?
Ca me semble super improbable qu'un outil aussi avancé/utilisé que AWX, ne puisse pas gérer ca plus proprement...


Par ailleurs étant en architecture microservice, j'ai plein d’événements bien justifiés de déployement qui peuvent être lancés a un très petit interval.
Quelle est la bonne approche pour ne pas conduire des dixaines de déployements simultanés en parallèle, mais garantir que si jamais une (ou plusieurs) demande de déploiement est arrivée pendant un déploiement, un autre déploiement sera joué a la du premier une fois?


Merci pour votre temps =)