【发布时间】:2017-07-20 02:48:54
【问题描述】:
我有一个参数化作业,它需要一个名称、一个 SVN 存储库和一个共享目录。我需要使用大约 20 组这些参数定期调用这项工作。目前我刚刚创建了 20 个工作,每个工作都称为主要工作。
这是一个非常繁琐的配置,并且会混淆 Jenkins 的主视图。
有没有更好的方法来解决这个问题?我愿意重组工作或使用插件“隐藏”它们。
有关工作的更多详细信息: 我实际上有两种主要工作:
- 送货作业。我们将应用程序部署到大约 20 个不同的共享目录。这些作业配置为每晚运行一次。 (定期触发构建)
- 计算作业。这个基于 svn 存储库计算数据并将其存储在共享目录中。这些作业配置为每 15 分钟运行一次。
- 作业可以并且应该并行运行
我需要/想要什么:
- 有时需要开发人员手动启动一个(或几个)配置
- 类似矩阵配置插件的东西可以解决我的问题。如果可以以某种方式将我的参数设置为一个轴,我会很高兴
- Multijob 将是我的问题的另一个解决方案,不幸的是这个“错误”阻止了我:JENKINS-39678
【问题讨论】:
-
您在进行部署吗? :) 只有你在运行这 20 种组合吗?您能否制作 1 到 20 个 bash 函数(取决于有多少参数有意义)通过 API 触发(一个)主要 jenkins 作业?
-
还有什么应该触发不同的工作?它们是手动运行、cron 等运行的吗?
-
我添加了一些附加信息。 @burnettk 这可能行得通,我担心这会将配置深埋在工作中,并且很难调用一个特定的配置。
-
@Morfic 构建直接从 jenkins 触发:定期触发
-
根据您能做什么或不能做什么,想到的最简单的想法是保留当前配置,但 change the
Allview with a custom one 仅显示您的主要工作。或者,您可以用multi-job(或类似管道)替换所有作业,为每个当前作业创建一个阶段。不幸的是,我没有看到执行单个阶段的方法...如果您发现这些方法有任何问题,请查看并告诉我们。
标签: jenkins