定制服务器中的gitlab-runner

时间:2019-02-05 08:03:42

标签: 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/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

2 个答案:

答案 0 :(得分:1)

您的方法正确-您所需要做的就是为您的小组或特定项目禁用共享的gitlab运行程序。

注册组运行器会为该组启用它,但实际上并不会禁用所有其他运行器-管道仍会根据标签和其他条件选择最方便的一个。

其他方法-使用您的私人标签(不像docker等)选择跑步者。跑步者根据为工作指定的tags集选择工作。例如,如果作业具有标签dockerlinux,则只有具有此类标签的跑步者才能接上。因此,您可以使用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