Jenkinsfile "parallèle" de la directive
Je suis en train d'écrire un Jenkinsfile
qui s'exécute en parallèle d'une séquence d'étapes. Le but est d'avoir deux agents
(aka. nodes
). On devrait faire un windows de construire et de l'autre un linux. Cependant je ne veux pas que cela arrive de façon séquentielle, mais en parallèle. Je suis en train d'essayer de trouver de la documentation pour la parallel
directive qui est décrit dans Pipeline Parallèle à l'exécution des tâches.
J'en ai trouvé une occurrence de parallel
l'un sur l'Jenkins, mais il semble que la documentation est cassé: https://jenkins.io/doc/pipeline/steps/workflow-cps/
parallel: Execute in parallel
org.kohsuke.stapler.NoStaplerConstructorException:
There’s no @DataBoundConstructor on any constructor of class
org.jenkinsci.plugins.workflow.cps.steps.ParallelStep
Comment dois-je configurer un Jenkinsfile qui permet d'exécuter une série d'étapes de génération sur deux agents différents (un linux, windows) en parallèle?
En particulier, devrais-je plutôt utiliser le déclaratif ou un script en fonction du pipeline de l'adsl?
OriginalL'auteur lanoxx | 2017-05-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser soit déclarative ou un script en fonction pour faire en parallèle, un travail. Le script en fonction de docs pour parallèle peut être trouvé ici: https://jenkins.io/doc/book/pipeline/jenkinsfile/#advanced-scripted-pipeline
Ils donnent l'exemple suivant...
Déclarative, je crois que vous allez faire ceci:
Également dans le script d'exemple, en supposant que dans la
build
stade, j'ai aussi mis unparallel
directive de construire sur plusieurs nœuds en parallèle, puis letest
étape serait d'attendre jusqu'à ce que toutes les tâches parallèles dans lebuild
stade ont terminé, ce qui signifie le plus lent nœud définit lors de la construction peut passer à l'étape suivante, est ce que le droit?Vous pouvez mettre plusieurs étapes à un script, des doutes sur le déclaratif des pipelines. Plusieurs étapes en parallèle, des mesures peuvent faire l'INTERFACE utilisateur de faire de drôles de choses, et le Bleu de l'Océan ne le supporte pas dans l'INTERFACE utilisateur si je me souviens bien. Pour votre deuxième question, oui, le pipeline script ne va pas continuer jusqu'à ce que toutes les sections d'un ensemble de tâches parallèles ont terminé. Cela signifie que vous êtes tenu par le plus lent nœud si vous fractionnez votre build+test étapes en deux ensembles de tâches en parallèle.
Merci man, le déclaratif fonctionne comme un charme.
OriginalL'auteur Spencer Malone