我在n个环境中需要多少个Gitlab运行程序

时间:2019-10-29 12:58:52

标签: gitlab

我是gitlab的新手,我想知道:Runner是否可在gitlab管道中的每个环境中使用?还是每个阶段都需要安装一个转轮?

1 个答案:

答案 0 :(得分:0)

您可以在所有阶段使用一个gitlab运行程序。

如果您的工作需要具有不同的环境,并且您正在使用Shell执行程序,则需要具有不同的gitlab运行程序。假设您有两个不同的服务器,第一个服务器具有构建程序所需的所有编译器和工具,而第二个服务器具有测试该程序所需的所有程序。然后,您可以在每个服务器上设置一个gitlab运行程序,并使用tag来区分它们。然后,第一个跑步者可以使用build作为标签,而第二个跑步者可以使用test。在您的工作中,您可能会:

build-job:
  tags:
    - build
  script:
    - msbuild myproject.sln
  artifacts:
    paths:
      - my-project-test.exe

test-job:
  tags:
    - test
  script:
    - .\my-project-test.exe

然后,您定义的任何带有标签build的gitlab运行程序都会执行构建作业。同样,测试工作将由标签为test的gitlab运行程序接管。

如果您需要能够在不同的服务器上同时运行许多构建/测试,则还可以使用带有相同标签的多个运行器。如果您有许多标签为build的gitlab运行程序,则标签为build的作业将在这些运行程序之间平均分配。