首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从许多其他作业中调用一个参数化作业(也称为“模板”)--这是一个可行的方法吗?

从许多其他作业中调用一个参数化作业(也称为“模板”)--这是一个可行的方法吗?
EN

Stack Overflow用户
提问于 2018-12-13 04:21:23
回答 1查看 30关注 0票数 0

我的工作是这样的:

  • template__build_docker
  • build_dockerA
  • build_dockerB ...
  • build_dockerX

template__build_docker是一个参数化的作业,如下所示:

代码语言:javascript
复制
node {
   [string(name: 'docker_name', trim: true)]

   ... build the container - git clone, etc ...
}

每个build_dockerA,build_dockerB...执行以下操作:

代码语言:javascript
复制
stage('call build template'){
   build job: 'template__build_docker ',  parameters: [string(name: 'docker_name', value: 'MyDockerImageA')]                                  
}

我知道这有点笨拙,而且使用声明性管道我可以使用主管道(没有查看细节),但这就是我正在使用的。

问:这是一种可行的方法吗?或者有什么顾虑使得这不是一种实现管道重用/重构的不适当的方式?

我知道已经有一个问题-如果我快速启动几个build_dockerX作业,超过配置的"# of executors",那么我就会遇到死锁-这些作业无法启动模板作业,因为没有可用的executor。

还有其他类似的问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-13 05:13:48

简而言之,答案是肯定的,但您应该使用shared libraries。看一个从jenkinsfile中使用的编写hereone where there is whole declarative pipeline defined的简单示例。我还记得我在这里发布的一个question,它也可以作为一个例子。

就"gothas“而言,我认为仍然不可能从一个jenkins库加载另一个jenkins库。除此之外,它是完美的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53750775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档