Gitlab CI: 运行 几台机器上的同一套测试

Gitlab CI: running the same set of tests on several machines

在高性能计算中,针对许多不同 architectures/compilers 测试代码至关重要:从笔记本电脑到超级计算机。

假设我们有

.gitlab-ci.yml 的正确布局应该如何确保 N 机器中的 each 运行所有测试?

在我看来,增加更多的工人最终会导致 round-robin 类似工作分配。

感谢您的帮助。

您可以在 .gitlab-ci.yml 和运行程序中使用标签,将您的测试分发给您想要的所有机器。 Gitlab CI 对这些用例非常开放。我假设您不使用 docker 进行测试。

要实现您的目标,请执行以下步骤:

  1. 在你的 N 机器上安装你的 gitlab-ci-multi-runners 但是如果跑步者要求你提供标签,请使用 specifc 名称标记机器,例如"MashineWithManyCPUsWhatever"。请使用 gitlab-ci-multi-runner register 命令来执行此操作。您也可以在注册后在管理视图中更改 Gitlab 中的标签。 跑步者的类型应该是 "shared" 而不是 "specific".

  1. 当您在机器上安装并标记每个跑步者时,请标记您的工作。 示例:

每个作业现在都将在带有 specific 标签的 specific 机器上执行。 有关详细信息,请参阅 Gitlab CI Documentation