59 votes

Jenkins comment créer pipeline étape manuelle

Avant Jenkins2 j'ai été en utilisant Build Pipeline Plugin pour construire et déployer manuellement l'application serveur. Ancienne configuration: jenkins-pipeline-plugin

Qui fonctionne très bien, mais je veux l'utiliser de nouveaux Jenkins pipeline, généré à partir de script groovy (Jenkinsfile), pour créer l'étape manuelle.

Jusqu'à présent, je suis venu avec input jenkins étape.

Utilisé jenkinsfile script:

node {
   stage 'Checkout'
   // Get some code from repository

   stage 'Build'
   // Run the build
}

stage 'deployment'
input 'Do you approve deployment?'
node {
    //deploy things
}

Mais ce attend une entrée de l'utilisateur, notant que le build n'est pas terminé. Je pourrais ajouter timeout input, mais cela ne me permet pas de choisir/déclencher une de construire et de déployer plus tard:

jenkins-pipeline

Comment puis-je obtenir meme/similaire résultat de l'étape manuelle/déclencheur de la nouvelle jenkins-pipeline comme avant avec la construction du Pipeline de Plugin?

30voto

KillDash9 Points 62

C'est un écart énorme dans le Jenkins Pipeline capacités de l'OMI. Difficile à fournir en raison du fait que le pipeline est d'un emploi simple. Une solution pourrait être de "l'archive" l'espace de travail comme un "artefact" (du goudron et des archives **/* comme "workspace.tar.gz'), et puis une autre pipeline copie de l'artefact et décompressez la dans le nouvel espace de travail. Cela permet à la deuxième canalisation de collecte où le précédent arrêté. Bien sûr, il n'y a aucun moyen de gauentee que la deuxième pipeline ne peut pas être exécuté en dehors de son tour ou plus d'une fois. Ce qui est dommage. La Livraison Pipeline Plugin brille vraiment ici. Vous exécutez un nouveau pipeline de droit à partir de la vue - au lieu de la première tâche. De toute façon - pas de réponse - mais le chemin que je vais essayer.

EDIT: Ce plugin a l'air prometteur:

https://github.com/jenkinsci/external-workspace-manager-plugin/blob/master/doc/PIPELINE_EXAMPLES.md

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X