我正在尝试在aws实例中设置gitlab-runner
。
我的项目在一个小组中。因此,请设置group-runner
,以便我可以将其用于组中的其他项目。
# gitlab-runner version
Version: 11.7.0
Git revision: 8bb608ff
Git branch: 11-7-stable
GO version: go1.8.7
Built: 2019-01-22T11:46:13+0000
OS/Arch: linux/amd64
# docker
Docker version 18.09.1, build 4c52b90
docker-machine version 0.16.0, build 702c267f
向跑步者注册
sudo gitlab-runner register
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://gitlab.com
Please enter the gitlab-ci token for this runner
<group runner token>
Please enter the gitlab-ci description for this runner
[hostame] my-runner
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
docker
Please enter the Docker image (eg. ruby:2.1):
ruby:2.5
我可以看到my-runner
位跑步者已从gitlab用户界面注册。
每当我运行/重试管道时,它总是使用gitlab的自动缩放实例执行。
Running with gitlab-runner 11.7.0-rc1 (6e20bd76)
on docker-auto-scale ed2dce3a
Using Docker executor with image ruby:2.5 ...
Pulling docker image ruby:2.5 ...
Using docker image sha256:feea8cad6f9e7cc58f7ae793ac92bd80fa1ce4da54a381921f161447e978021f for ruby:2.5 ...
Running on runner-ed2dce3a-project-10682917-concurrent-0 via runner-ed2dce3a-srm-1549352595-5d0f29b8...
Cloning repository...
Cloning into '/builds/dr5nn/gitlab-ci-demo'...
在自定义计算机上运行gitlab-runner
的地方和缺失之处?
我是否需要在某处添加IP address
或在AWS实例中启用某些端口?
同胞是我的.gitlab-ci.yml
before_script:
- apt-get update -qq && apt-get install -y -qq sqlite3 libsqlite3-dev nodejs
- ruby -v
- which ruby
- gem install bundler -v 2.0.1
- bundle install --jobs $(nproc) "${FLAGS[@]}"
rubocop:
script:
- bundle exec rubocop
答案 0 :(得分:1)
您的方法正确-您所需要做的就是为您的小组或特定项目禁用共享的gitlab运行程序。
注册组运行器会为该组启用它,但实际上并不会禁用所有其他运行器-管道仍会根据标签和其他条件选择最方便的一个。
其他方法-使用您的私人标签(不像docker
等)选择跑步者。跑步者根据为工作指定的tags
集选择工作。例如,如果作业具有标签docker
和linux
,则只有具有此类标签的跑步者才能接上。因此,您可以使用private-runner
之类的标记简单地标记要在组运行器(而不是共享运行器)上执行的作业,然后将此标签添加到运行器。
答案 1 :(得分:0)
有葡萄的建议。我可以在波纹管配置下运行。
从我的aws实例中注册gitlab-runner
时
...
...
Please enter the gitlab-ci tags for this runner (comma separated):
my-tag
...
...
并使用{p>更改了gitlab-ci.yml
文件
before_script:
- apt-get update -qq && apt-get install -y -qq sqlite3 libsqlite3-dev nodejs
- ruby -v
- which ruby
- gem install bundler -v 2.0.1
- bundle install --jobs $(nproc) "${FLAGS[@]}"
rubocop:
tags:
- my-tag
script:
- bundle exec rubocop