Gitlab CI:在多台机器上运行相同的测试集

时间:2016-03-07 06:42:34

标签: gitlab gitlab-ci gitlab-ci-runner

在高性能计算中,对于针对许多不同体系结构/编译器的代码进行测试至关重要:从笔记本电脑到超级计算机。

假设我们有

  • N 测试计算机/ 工作人员(每个人都在运行gitlab-ci-runner);
  • M测试

.gitlab-ci.yml的正确布局应该是什么,以确保eachN计算机运行所有测试?

在我看来,只添加更多工作人员会在round-robin工作分配中结束。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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

要完成目标,请执行以下步骤:

  1. N mashines上安装gitlab-ci-multi-runners但是如果跑步者要求您提供标签,请使用特定名称标记mashine,例如“MashineWithManyCPUsWhatever”。请使用gitlab-ci-multi-runner register命令执行此操作。您也可以在注册后在管理视图中更改Gitlab中的标记。 跑步者的类型应该是“共享”而不是“特定”。
  2. enter image description here

    1. 当你在mashines上安装并标记每个跑步者时,标记你的工作。 例如:
    2. enter image description here

      现在,每个作业都会在具有特定标签的特定mashine上完成。 有关详细信息,请参阅Gitlab CI Documentation