Autant que je sache, la fonctionnalité "Agrégger les résultats du test en aval" ne fonctionne pas comme prévu (et il est très difficile de trouver une documentation utile). Je voudrais obtenir des fonctionnalités très similaires: p>
Job Construction em> Triggers Emplois t1 em>, t2 em> en parallèle (où t1 em> trichrougs, t2 em> mesure PMD). P>
scénario 1: strong>
Dès que t1 em> et t2 em> sont terminés (que je peux obtenir en utilisant le plug-in "Rejoindre"), je veux rassembler les artefacts ( t1 em> / Findbugs.xml et T2 em> /pmd.xml). Ensuite, celles-ci sont analysées et de belles statistiques sont générées. P>
scénario 2 (je l'aime plus): strong>
Comme scénario 1, mais l'analyse est effectuée dans le cadre de t1 em> et t2 em> (en parallèle!). Dès que t1 em> et t2 em> sont terminés, les résultats d'analyse sont combinés dans de jolies statistiques. P>
Pour scénario 2, je ne sais pas comment importer les données nécessaires aux plugins de Findbugs / PMD / CheckStyle / Sloccount / ... Selon les graphiques correspondants (aussi?) apparaissent à l'extérieur de t1 em> / * t2 *. p>
merci,
CARSTEN P>
3 Réponses :
Voici un contour pour un scénario un peu plus simple, mais je pense que vous pouvez facilement le généraliser à votre cas de multiples emplois en aval. L'astuce consiste à utiliser des paramètres "marquage" dans les travaux en aval. P>
laissez p em> être le travail parent et d em> être un travail en aval. P>
Si vous utilisez Python (c'est ce que je fais) - Utilisez wrapper Python Jenkinsapi . Si vous utilisez Groovy - Utilize plugin groovy et exécutez votre script comme script système. Vous pouvez ensuite accéder à Jenkins via son Java API . P>
Merci, cela a aidé! J'ai maintenant les données de T1 et T2 dans mon projet de jointure (celle-ci a commencé dès que T1 et T2 sont terminées).
Aujourd'hui, j'ai remarqué que Build_id n'est pas unique à un travail (deux emplois ont commencé dans la même seconde obtenir le même build_id). Une idée de comment avoir vraiment des identifiants uniques?
Concaténer avec Job_name i> (E.G. $ {Job_Name} _ $ {build_id})
Deux ajouts au poste de Malenkiy_scot: p>
Vous n'avez pas vraiment besoin d'un script pour l'étape 3 dans la description: "Copier des artefacts d'un autre projet" Étape de construction permet de spécifier le travail source, y compris des paramètres déjà. P>
Par exemple, à l'aide de la notation du parent, il peut copier des artefacts de l'exécution correcte du travail au lieu de concaténer manuellement d code> à l'aide de
d / parent_id = attendu_value code> comme "nom du projet". p> li>
$ job_name code> et
$ build_id code> Vous pouvez utiliser le
prédéfini_tag code> (qui fait essentiellement la même chose) . Voir https: //wiki.jenkins-ci. Org / Display / Jenkins / Building + A + Software + Project # BuildingSoftwareProject-Jenkinssetenvironmentvaribles Pour la liste complète des variables d'environnement standard. P> LI>
ol>
Est-il possible que quelqu'un de décompresser ce qui se passe ici avec la syntaxe 'd / parent_id = attendu_value'? Toute aide beaucoup appréciée. J'aimerais connecter cela dans les constructions de base abstrait plutôt que de les faire expliciter dans les enfants concrets.
plugin Jenkins https://wiki.jenkins-ci.org/ Affichage / Jenkins / Build + Flow + Plugin devrait aider à ces exigences. p>
Je pense que cette question peut être généralisée à: Comment puis-je transférer des connaissances d'emplois en aval (finis) en aval de son travail en amont direct qui a déclenché ces emplois (ou à un successeur direct de cet emploi en amont)? Autant que je sache, Jenkins se concentre sur l'autre sens (obtenir des informations sur les emplois en amont).