Gitlab CI: 运行 几台机器上的同一套测试
Gitlab CI: running the same set of tests on several machines
在高性能计算中,针对许多不同 architectures/compilers 测试代码至关重要:从笔记本电脑到超级计算机。
假设我们有
N
测试机/工人(每台运行gitlab-ci-runner
);
M
测试,
.gitlab-ci.yml
的正确布局应该如何确保 N
机器中的 each
运行所有测试?
在我看来,增加更多的工人最终会导致 round-robin
类似工作分配。
感谢您的帮助。
您可以在 .gitlab-ci.yml 和运行程序中使用标签,将您的测试分发给您想要的所有机器。 Gitlab CI 对这些用例非常开放。我假设您不使用 docker 进行测试。
要实现您的目标,请执行以下步骤:
- 在你的
N
机器上安装你的 gitlab-ci-multi-runners 但是如果跑步者要求你提供标签,请使用 specifc 名称标记机器,例如"MashineWithManyCPUsWhatever"。请使用 gitlab-ci-multi-runner register
命令来执行此操作。您也可以在注册后在管理视图中更改 Gitlab 中的标签。
跑步者的类型应该是 "shared" 而不是 "specific".
- 当您在机器上安装并标记每个跑步者时,请标记您的工作。
示例:
每个作业现在都将在带有 specific 标签的 specific 机器上执行。
有关详细信息,请参阅 Gitlab CI Documentation
在高性能计算中,针对许多不同 architectures/compilers 测试代码至关重要:从笔记本电脑到超级计算机。
假设我们有
N
测试机/工人(每台运行gitlab-ci-runner
);M
测试,
.gitlab-ci.yml
的正确布局应该如何确保 N
机器中的 each
运行所有测试?
在我看来,增加更多的工人最终会导致 round-robin
类似工作分配。
感谢您的帮助。
您可以在 .gitlab-ci.yml 和运行程序中使用标签,将您的测试分发给您想要的所有机器。 Gitlab CI 对这些用例非常开放。我假设您不使用 docker 进行测试。
要实现您的目标,请执行以下步骤:
- 在你的
N
机器上安装你的 gitlab-ci-multi-runners 但是如果跑步者要求你提供标签,请使用 specifc 名称标记机器,例如"MashineWithManyCPUsWhatever"。请使用gitlab-ci-multi-runner register
命令来执行此操作。您也可以在注册后在管理视图中更改 Gitlab 中的标签。 跑步者的类型应该是 "shared" 而不是 "specific".
- 当您在机器上安装并标记每个跑步者时,请标记您的工作。 示例:
每个作业现在都将在带有 specific 标签的 specific 机器上执行。 有关详细信息,请参阅 Gitlab CI Documentation