0

我想在不同的(部分手动的)CI 作业中在我的 helm 版本上运行不同的测试套件。

如何从 CI 作业中最好地执行这些测试套件?


细节:

用一个单一的测试套件,helm test是非常有帮助的。但是我怎样才能轻松地判断helm test要执行哪个测试套件呢?

目前,我只有两个测试套件A和一个通过 helm install 注入B的环境变量。SUITE测试作业根据SUITE要执行的测试套件的值来决定。但是这种注入很复杂,我希望有可能顺序或同时执行多个测试套件。

因此,我创建了两个掌舵图A.yamlB.yaml. 我可以以某种方式helm test使用特定的 helm 图表调用,例如helm test general/A.yaml(请参阅Can Helm 测试用于运行单独的套件吗?)?

如果没有,最好的方法是什么?当我们想要执行它时deployment-A,使用实例 0 并将部署扩展到 1?deployment-B然后,我如何将(未)成功的测试执行(和日志输出)传达回 CI(在我的情况下为 gitlab)?

4

2 回答 2

1

helm test --filter name=value可以使用- 请参阅helm docs选择测试用例。

注意name这里指的metadata.name是helm chart中的。可以使用 helm 图表中设置的其他属性。

于 2021-09-16T15:26:18.163 回答
0

恐怕目前 helm 不支持这一点(在 github 上查看这个打开的问题)。

您可以做的是创建单独的图表文件夹,其中包含其中一项测试或查看Octopus。它的创建是为了替换helm test其他功能,其中之一是选择性测试。

于 2020-07-24T14:38:54.660 回答