gitlab-runner на пользовательском сервере - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь настроить gitlab-runner в экземпляре aws.

Мой проект в группе.Следовательно, настройте 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 голосов
/ 05 февраля 2019

С предложением из винограда.Я могу работать с нижеуказанными конфигурациями.

При регистрации gitlab-runner из моего aws intance

...
...
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
0 голосов
/ 05 февраля 2019

Вы находитесь на правильном пути - все, что вам нужно, это отключить общие бегуны gitlab для вашей группы или конкретного проекта.

Регистрация бегуна группы включает его для группы, но это фактически не отключает всех других бегунов- конвейер по-прежнему выбирает наиболее удобный на основе тегов и других критериев.

Другой способ - используйте ваши личные теги (не такие как docker и т. д.), чтобы выбрать бегуна.Бегуны выбирают свои рабочие места в соответствии с набором tags, указанным для рабочих мест.Например, если задание имеет теги docker и linux, его могут забрать только участники с такими тегами.Таким образом, вы можете просто пометить задания, которые вы хотите выполнить на групповом уровне (а не на общих участниках), с помощью тега, подобного private-runner, и добавить этот тег к вашему исполнителю.

...