Je suis en train d'essayer d'installer un service en utilisant TopShelf de CI. Cependant, chaque fois qu'une exception se produit pendant l'installation, TopShelf annule la transaction et continue le processus de construction, renvoyant un statut 0x0.
Cela signifie que, du point de vue du serveur CI, le déploiement a été réussi.
Un exemple de la commande que j'utilise dans MSBuild est:
La sortie que je reçois est:
[Exec] Exécution d'une installation avec transaction.
[Exec]
[Exec] Verbose: Réponse reçue de l'agent (statut HTTP 'OK').
[Exec] Info:
[Exec] Début de la phase d'installation.
[Exec]
[Exec] Info: Installation du service Foo...
[Exec]
[Exec] Info: Création de la source EventLog Foo dans le journal Application...
[Exec]
[Exec] Info:
[Exec] Une exception s'est produite pendant la phase d'installation.
[Exec]
[Exec] Info: System.ComponentModel.Win32Exception: Le service spécifié existe déjà
[Exec]
[Exec] La phase de restauration de l'installation commence.
[Exec] Restauration du journal d'événements à l'état précédent pour la source Foo.
[Exec]
[Exec] La phase de restauration est terminée avec succès.
[Exec]
[Exec] L'installation avec transaction est terminée.
Des idées sur la manière de faire échouer la construction en cas d'exception?