gitlab runner tag

2022-01-04  本文已影响0人  book_02

为了防止某个平台编译机挂掉,导致该平台版本出不了,于是想多部署几台 runner ,使得其中某台runner 挂掉时,另外一台runner还可以工作,不影响出版本。

想到通过tag的方式来实现,配置的时候发现有两个地方可以添加tag:

  1. 注册runner时,给runner添加tag。不同的runner设置相同的tag
  2. 在写 .gitlab-ci.yml 时,使用tag关键字来制定

测试之后发现,其中第1种方式可以达到编译机容灾的目的。

1. 给runner添加tag

  1. 多个runner可以使用同一个tag
  2. 一个runner可以配置多个tag

所以使用时把多个runner配置有相同的tag可达到编译机容灾的目的。

注册时通过设置 --tag-list 选项来配置tag:(下面是以docker来运行gitlab runner)

docker run --rm -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
  --non-interactive \
  --executor "docker" \
  --docker-image alpine:latest \
  --url "http://10.168.1.108:8929" \
  --registration-token "aQqLxxoTVCdyin73x86t" \
  --description "gitlab-runner" \
  --tag-list "docker,localMachine" \
  --run-untagged="true" \
  --locked="false" \
  --access-level="not_protected"

可以在gitlab的ci界面看到runner的tag信息如下:

多个runner之间怎么运行代码,可能需要配置负载均衡的策略。

2. .gitlab-ci.yml的tag

.gitlab-ci.yml的tag另有用途:

yml的多tag是"与"的关系,指定任务在同时有这些tag的runner上运行

官方说明如下: (https://docs.gitlab.com/ee/ci/yaml/)

3. 其他参考

GitLab Runner Tags – Complete Guide for Complex Scenarios
https://www.bitslovers.com/gitlab-runner-tags/

上一篇下一篇

猜你喜欢

热点阅读