Jenkins 2 a des pipelines a un citoyen de première classe. Cependant, dans les exemples, les tâches semblent être exécutées en une seule séquence:
node {
// Mark the code checkout 'stage'....
stage 'Checkout'
// Get some code from a GitHub repository
git url: '[email protected]:elifesciences/elife-bot.git'
// Mark the code build 'stage'....
stage 'Build'
echo "Unit tests will run here"
stage "Production"
echo "Deploying to production environment"
}
Pour le déploiement dans le système de production, il est souvent utile d'exiger une approbation manuelle; existe-t-il un moyen d'insérer un bouton manuel pour appuyer à l'intérieur d'un pipeline?
J'ai cherché des étapes possibles pour y parvenir sur les documents , en vain.
input
étape dans le pipeline qui s'arrête et demande à l'utilisateur de saisir (ou d'interrompre la génération). Cependant, la scène et l'indicateur d'état continuent de clignoter pendant que je voulais un état stable (par exemple, vous y entrez vendredi après-midi et décidez de vous déployer lundi.)Réponses:
l'entrée est l'option que vous recherchez. Voici comment je l'utilise. Il est important d'avoir l'étape en dehors d'un nœud, sinon jenkins tiendra un agent en attente de l'étape suivante. Gardez à l'esprit que le deuxième nœud peut ne pas utiliser le même espace de travail que le premier.
la source
À la fin, j'ai créé des pipelines séparés
test-project
etprod-project
, où à la fin dutest-project
code est fusionné dans uneapproved
branche.Ensuite, le
prod-project
pipeline peut être configuré pour ne pas se déclencher à chaque nouvelle validation afin de pouvoir être déployé à la demande.la source
De plus, vous pouvez également ajouter un délai d'expiration automatique comme ci-dessous
Si vous le recherchez, vous pouvez également lier l'entrée jenkins aux informations d'identification des utilisateurs accédant à Jenkins si vous souhaitez uniquement permettre à des individus spécifiques d'être en mesure de répondre - cela est également étayé par le fait que vos contrôles Git sont également suffisants.
la source
Ce n'est qu'un exemple simple mais vous pouvez le déclencher comme vous le souhaitez.
la source
Je l'ai fait comme indiqué ci-dessous en lisant cette documentation https://jenkins.io/doc/book/pipeline/syntax/
la source