0
votes

Comment puis-je obtenir Jenkins pour échouer une construction si les tests échouent, une fois les rapports générés?

Donc, j'essaie d'en savoir plus sur Jenkins et j'ai développé un script shell qui exécutent les tests de mon projet iOS et génère un rapport. J'ai défini le script pour quitter dès que les défaillances sont détectées (car c'est la seule façon de savoir comment obtenir la construction pour échouer si les tests échouent).

C'est la raison pour laquelle les rapports ne sont pas générés. Parce que je quitte le script dès que les tests ont échoué. Mais je ne connais pas comment obtenir la construction pour échouer, sans quitter avant la génération des rapports. Que puis-je faire pour contourner cela? Voici mon script actuel Shells: P>

set -o pipefail && xcodebuild -project "Tests.xcodeproj" 
    -scheme "Testing" 
    -sdk "iphonesimulator12.2" 
    -destination "platform=iOS Simulator,OS=latest,name=iPhone 7" 
    test -only-testing:"UITests/UITests" 
    -resultBundlePath TestResults | xcpretty
xchtmlreport -r TestResults


0 commentaires

3 Réponses :


0
votes

Vous pouvez utiliser

TOUJOURS () {// Quelqu'un code ici}

section à une étape ou pipeline spécifique. Mettez la génération de rapport dans ce bloc. Reportez-vous à https://jenkins.io/doc/book/pipeline/yntaxe / # post-conditions

dans le projet Freestyle, vous pouvez ajouter une action post-build


3 commentaires

Donc, la coquille que j'ai écrite est exécutée dans une étape de construction. Cela irait-il aussi?


Je devrais également mentionner que j'utilise un projet Freestyle, alors comment cela affecte-t-il ce que j'essaie d'accomplir avec ce que vous avez suggéré?


Denys fait référence à un Pipeline Job.



0
votes

Généralement, vous exécuterez tous vos tests et signaleriez chaque état de test dans un fichier de résultat (dans mon cas, c'est dans format junit pour Java / JavaScript). Une fois que tous les tests vous sont exécutés publier le fichier de résultat à l'aide d'une étape de plugin Jenkins appropriée (dans mon cas JUNIT ).


0 commentaires

0
votes

Emploi Pipeline / Workflow à Jenkins à l'aide de Fastlane: Ce que j'ai fait, est-ce que je réglais le poste de poste pour exécuter trois voies différentes en fonction de l'état de la construction. Le bloc-block a des sublocs appelés succès, instable et échec. Les voies dans les sous-obstacles du poste de poste publient un message de slack avec succès, instable ou ont échoué pour les trois possibilités (la construction réussie et la réussite des tests, une construction réussie et 1 ou plusieurs tests échouent, et une construction infructueuse) respectivement. J'utilise DANGER GEM pour poster des résultats de test Résumé à ma demande de retrait dans les commentaires du référentiel. Voir ici -> https://www.jenkins.io/doc/ Livre / pipeline / syntaxe / # POST


0 commentaires