运行 GitLab runner 中的作业仅在特定主机名中

Run job in GitLab runner only in specific hostname

我想 运行 仅当启动管道的 运行ner 在特定机器(例如 myciserver)中 运行ning 时,用户推送提交时才执行一项作业。

这是我的gitlab-ci.yml:

stages:
  - build

pull-docker-image:
  stage: build
  script:
    - docker pull ubuntu:20.04

到目前为止,我尝试仅将关键字与使用预定义变量 $CI_SERVER_NAME:

的变量一起使用
stages:
  - build

pull-docker-image:
  stage: build
  script:
    - docker pull ubuntu:20.04
  only:
    variables:
      - $CI_SERVER_NAME == "myciserver"

但是,预定义的 GiLab 变量 $CI_SERVER_NAME 不是正在执行作业的机器的主机名,而是始终 returns 字符串“GitLab”。

我怎样才能做到这一点?提前致谢。

可以选择用标签标记不同的 运行ners,你可以指定哪些标签应该应用于要执行的 运行ners。

例如。你用 my-ci 标记你的 运行ner 你的工作看起来像这样

pull-docker-image:
  stage: build
  tags:
    - my-ci
  script:
    - docker pull ubuntu:20.04

但请注意,只有 运行 有可用这些标签的 运行ner 时,作业才会 运行。

可以在此处找到更多文档:https://docs.gitlab.com/ee/ci/yaml/#tags