运行 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
我想 运行 仅当启动管道的 运行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