web-dev-qa-db-fra.com

Jenkins comment créer une étape manuelle du pipeline

Avant Jenkins2, j’utilisais Build Pipeline Plugin pour créer et déployer manuellement l’application sur le serveur. Ancienne configuration: jenkins-pipeline-plugin

Cela fonctionne très bien, mais je veux utiliser le nouveau pipeline Jenkins, généré à partir de scripts groovy (Jenkinsfile), pour créer une étape manuelle.

Jusqu'ici, j'ai trouvé input jenkins step.

Script jenkinsfile utilisé:

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

   stage 'Build'
   // Run the build
}

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

Mais cela attend l’entrée de l’utilisateur, sachant que la construction n’est pas terminée. Je pourrais ajouter timeout à input, mais cela ne me permettra pas de choisir/déclencher une construction et de la déployer plus tard:

jenkins-pipeline

Comment puis-je obtenir le même résultat/un résultat similaire pour l'étape/le déclenchement manuel avec le nouveau pipeline jenkins, comme auparavant avec Build Plugeline Plugin?

51
Zigac

C’est une lacune énorme dans les capacités du pipeline Jenkins à l’OMI. Difficile à fournir en raison du fait qu'un pipeline est un travail unique. Une solution pourrait consister à "archiver" l'espace de travail en tant qu '"artefact" (tar et archive **/* sous le nom "workspace.tar.gz"), puis à demander à un autre pipeline de copier l'artefact et de le désarchiver dans le nouvel espace de travail. Cela permet au deuxième pipeline de démarrer là où le précédent s’est arrêté. Bien entendu, rien ne garantit que le deuxième pipeline ne peut être exécuté hors tour ou plus d'une fois. Ce qui est dommage Le plugin Delivery Pipeline brille vraiment ici. Vous exécutez un nouveau pipeline directement à partir de la vue, au lieu du premier travail. Quoi qu'il en soit - pas vraiment une réponse - mais c'est le chemin que je vais essayer.

EDIT: Ce plugin semble prometteur:

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

26
Michael Andrews