相关疑难解决方法(0)

Jenkins动态声明性管道参数

Jenkins声明性管道中的参数可以是动态的吗?

我希望在运行时通过函数填充选项选项值.以下代码确实生成了一个选项列表,但它们似乎是陈旧的 - 可能是在我第一次运行此代码时生成的.如果AMI列表发生变化,则选择保持不变.我想在每次选择时运行它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)
    }
    ...
 }
Run Code Online (Sandbox Code Playgroud)

编辑 我最终使用jenkins-job-builder扩展选择参数.它目前不支持该groovyScript …

groovy jenkins jenkins-pipeline

8
推荐指数
3
解决办法
2万
查看次数

标签 统计

groovy ×1

jenkins ×1

jenkins-pipeline ×1