在高性能计算中,对于针对许多不同体系结构/编译器的代码进行测试至关重要:从笔记本电脑到超级计算机。
假设我们有
N
测试计算机/ 工作人员(每个人都在运行gitlab-ci-runner
); M
测试, .gitlab-ci.yml
的正确布局应该是什么,以确保each
个N
计算机运行所有测试?
在我看来,只添加更多工作人员会在round-robin
工作分配中结束。
感谢您的帮助。
答案 0 :(得分:1)
您可以在.gitlab-ci.yml和跑步者中使用标签将测试分发给您想要的所有mashines。 Gitlab CI对这些用例非常开放。我假设您不使用docker进行测试。
要完成目标,请执行以下步骤:
N
mashines上安装gitlab-ci-multi-runners但是如果跑步者要求您提供标签,请使用特定名称标记mashine,例如“MashineWithManyCPUsWhatever”。请使用gitlab-ci-multi-runner register
命令执行此操作。您也可以在注册后在管理视图中更改Gitlab中的标记。
跑步者的类型应该是“共享”而不是“特定”。现在,每个作业都会在具有特定标签的特定mashine上完成。 有关详细信息,请参阅Gitlab CI Documentation