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
3 Réponses :
Vous pouvez utiliser p>
TOUJOURS () {// Quelqu'un code ici} p> blockQuote>
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 p>
dans le projet Freestyle, vous pouvez ajouter une action post-build p>
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 i> Job.
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 em> le fichier de résultat à l'aide d'une étape de plugin Jenkins appropriée (dans mon cas JUNIT code>
). p>
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 P>