Docker 自定义服务器中的gitlab runner

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

我正在尝试在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
从自定义计算机运行
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