Jenkins dynamique déclarative pipeline paramètres
Pouvez les paramètres dans un Jenkins déclarative pipeline être dynamique?
Je veux un le choix des valeurs d'option être remplie au moment de l'exécution d'une fonction. Le code suivant génère une liste d'options, mais ils semblent être rassis - probablement à l'origine de la première fois que j'ai couru ce code. Si la liste d'AMIs changements, les choix restent les mêmes. Je veux ce à exécuter chaque fois que je sélectionne build with parameters
.
def findAMIs() {
//Find relevant AMIs based on their name
def sout = new StringBuffer(), serr = new StringBuffer()
def proc = '/usr/bin/aws --region eu-west-1 ec2 describe-images \
' --owners OWNER --filter Name=name,Values=PATTERN \
' --query Images[*].{AMI:Name} --output text'.execute()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(10000)
return sout.tokenize()
}
def AMIs = findAMIs().join('\n')
pipeline {
//a declarative pipeline
agent any
parameters {
choice(name: 'Release',
choices: AMIs)
}
...
}
MODIFIER
J'ai fini par utiliser jenkins-job-builder
, avec un choix étendu de paramètres. Il ne prend pas en charge la groovyScript
paramètre pour le moment, alors je l'ai modifié https://review.openstack.org/#q,I0c6ac0b49c24b8d3afbc06b003847de2e043c2b8,n,z
Il ne change jamais. Chaque fois que je clique construire avec les paramètres-je obtenir exactement les mêmes options, même si je sais que le script retourne différentes options (lorsque vous exécutez manuellement)
Les paramètres peuvent être redéfinis tout le temps d'une génération fonctionne. Pas de formation, pas de redéfinition.
c'est une honte... j'aimerais vraiment dynamique des choix basés sur la situation actuelle, et non pas sur la version précédente.
Il y a des plugins qui mettent en œuvre des "dynamique" des paramètres, comme le Choix Actifs, Dynamiques Paramètre abandonné (IIRC), Extensible de Paramètre, les paramètres avancés. Peut-être certains de ceux qui sont pipeline compatible.
OriginalL'auteur jarondl | 2017-06-15
Vous devez vous connecter pour publier un commentaire.
ce sujet de la saisie de l'utilisateur:
avez-vous une syntaxe Déclarative exemple de travail? Si oui, s'il vous plaît partager.
Salut @EldadAK Non, malheureusement, je ne pouvais pas le faire fonctionner. Regarder le modifier à ma question - j'ai fini à l'aide de JJB
OriginalL'auteur daggett
Il y a une autre solution: vous pouvez utiliser le bouton "propriétés" étape avant le "pipeline" - là, vous pouvez utiliser le choix actif plugin:
La seule chose, c'est la première fois que vous démarrez votre construction, il serait un échec. Deuxième fois que vous démarrez ce devrait être "construire avec le paramètre".
Espère que cela aide.
Juste testé sur jenkins 2.73.2 (mais a été écrite à l'origine pour jenkins 2.6.x.x) avec Choix Actif Plugin 1.4 - cela fonctionne. Avez-vous écrit quelques étapes du pipeline et les étapes?
Je l'ai résolu en quelque sorte depuis que j'ai des commentaires. Le passage à d'autres choses 😉
OriginalL'auteur Mario R.
Pour toute personne ayant besoin d'un déclarative pipeline syntaxe option, j'ai trouvé une bonne solution dans une autre question, qui m'a aidé.
C'est ma suggestion basée sur elle. Vous devriez être en mesure de générer une dynamique de liste avec le code qui crée la
${WORKSPACE}/list
fichierJ'espère que cette aide
OriginalL'auteur Eldad AK