Docker 自定义服务器中的gitlab runner
我正在尝试在aws实例中设置Docker 自定义服务器中的gitlab runner,docker,gitlab,gitlab-ci,gitlab-ci-runner,Docker,Gitlab,Gitlab Ci,Gitlab Ci Runner,我正在尝试在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/a
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
从自定义计算机运行gitlab runner
时缺少的位置和内容?
我是否需要在aws实例中的某个位置添加IP地址
,或启用某个端口
下面是我的.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
你们走在正确的道路上——你们所需要的只是为你们的小组或特定项目禁用共享gitlab运行程序 注册组运行程序为组启用了它,但实际上并没有禁用所有其他运行程序-管道仍然根据标记和其他条件选择最方便的运行程序
另一种方法-使用您的私人标签(不像
docker
等)选择runner。跑步者根据为作业指定的标记集
选择作业。例如,如果作业具有标记docker
和linux
,则只有具有此类标记的跑步者才能拾取它。因此,您可以简单地使用标签(如private runner
)标记要在您的组运行程序(而不是共享运行程序)上执行的作业,然后将此标签添加到您的运行程序中。,并提供grapes的建议。我可以使用以下配置运行
从我的aws intance注册gitlab runner
时
...
...
Please enter the gitlab-ci tags for this runner (comma separated):
my-tag
...
...
并使用更改了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
我没有设置特定的跑步者。若禁用共享运行程序,管道将显示为卡住(在未设置运行程序的情况下应该如此)。我仍然可以从UI中看到runner。我是否需要在我的aws实例中的某个位置添加IP地址或启用某个端口?如果您不想将gitlab shared runner用于特定作业,则只需使用标记即可。为这些作业设置标记,这些作业仅由您的运行人员支持。您通常不必在管道中指定IP地址-工作人员通过名称连接到服务器,服务器无需提前知道其IP gitlab ci非常新。你能解释一下如何使用(私有)标签完成这项工作吗?
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