jenkins - Jenkins 组合过滤器与 Groovy 脚本
问题描述
我有一个 Jenkins 多配置项目,其中包含两个要组合的变量:
版本(来自构建矩阵轴)
1.2 1.3
平台(构建参数)
ubuntu windows
支持某些组合,其他不支持。除了上面还有很多,但在这里尽量保持简单。
我尝试过组合过滤器,例如:
(platform == "windows" && version == "1.1") || (platform == "windows" && version == "1.2") ...
但是对于许多组合,这些会变得非常冗长和复杂。我希望能够从文件中读取每个版本的允许平台列表。然后,过滤器将是基于文件内容的简单地图样式查找。就像“返回版本[版本].contains(platform)”。
我考虑过使用单行组合过滤器将文件作为 Groovy 脚本读取并执行。想不通那个单行。
这个答案建议将“评估(参数名称)”作为过滤器。将更复杂的 Groovy 脚本放入该“paramName”并使用它来读取映射文件等。我不知道如何在哪里插入诸如参数来评估。
Groovy 执行策略插件似乎可以工作。但我也不太确定如何用这个编写脚本。如何将我的变量和这个插件中的映射文件结合起来,以及返回什么?
最终,我希望能够使用默认的组合过滤器支持,因此我也可以在Matrix Combinations Plugin中重新使用它作为快捷方式选择(它支持组合过滤器)。
所以更喜欢普通的组合过滤器,但如果必须可以使用其他方法。目标是过滤允许的组合。
有任何想法吗?
解决方案
推荐阅读
- c# - 使用 IProducerConsumerCollection 的简单数据生产者/消费者实现?
- apache-spark - 将结果从 Kafka 写入 pyspark 中的 csv
- go - 如何使用“github.com/gorilla/websocket”检查websocket连接是否处于就绪状态
- c# - Rider 在统一单击错误/日志消息时未打开脚本
- python - 使用 random.sample() Python 3 在 .txt 文件中打印随机行
- python - 如何在没有所需数量的参数的情况下使 python 函数工作?
- r - 根据另一个数据框中的值向数据框中添加列
- c# - Media Foundation Write Sample 在写入时出现访问冲突
- javascript - 在表格中显示数组数据
- python - 类函数返回不同的结果