【问题标题】:Build Job from Jenkins Pipeline with variable使用变量从 Jenkins Pipeline 构建作业
【发布时间】:2017-12-04 12:37:01
【问题描述】:

我无法通过 jenkins 管道传递作业名称的变量来构建作业。请在下面找到代码 sn-p。如果我将 ${service} 替换为“微服务”,它将触发作业

service = 'microservice'
echo "TESSSSSSSSTTT ${service}"
build(job: "'${service}'", parameters: [string(name: 'ENVNAME', value: 'uat')])

面临的错误是:

[Pipeline] echo
TESSSSSSSSTTT microservice
[Pipeline] build
[Pipeline] End of Pipeline
ERROR: No item named 'microservice' found
Finished: FAILURE

我使用这种方法是因为我想为所有通过多行字符串参数传递名称的微服务打一个构建命令,最后我想将此构建设置为一个循环。

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    我假设您的工作在 Jenkins 中不称为 'microservice',而是称为 microservice(没有刻度)。

    因此,将您的 build 行更改为在双引号后不包含单引号:

    build(job: "${service}", parameters: [string(name: 'ENVNAME', value: 'uat')])
    

    对我的 jenkins 实例进行了一些简单的测试,并且能够通过将服务变量设置为现有作业名称来调用作业。

    【讨论】:

    • 谢谢,工作我想我只在循环内用双引号测试这个并且失败并出现错误:请检查组! java.util.AbstractList$Itr 。我看到循环之外的工作很完美。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多