Gitlab runner запускает мой ci deploy в мастер ветке с общим раннером - PullRequest
0 голосов
/ 04 января 2019

У меня удаленный сервер Ubuntu 16 в digitalocean. Также я устанавливаю gitlab-runner, настраиваю их и добавляю файл gitlab-ci-yml в свой проект. Иногда (1/99) он работает правильно, но в основном не работает.

concurrent = 1
check_interval = 0

  [session_server]
  session_timeout = 1800

[[runners]]
  name = "Gitlab-Runner"
  url = "https://gitlab.com/"
  token = "***"
  executor = "shell"
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]

Мой gitlab-ci-yml

image: docker

services:
  - docker:dind

stages:
  - test
  - deploy
test:
  stage: test
  only:
    - master
  script:
    - echo run tests in this section

step-deploy-prod:
  stage: deploy
  only:
    - master
  script:
    - sudo apt-get install -y python-pip
    - pip install docker-compose
    - sudo docker image prune -f
    - sudo docker-compose build --no-cache
    - sudo docker-compose up -d

Также это работает в "gitlab-runner 11.5.0". Но мой сервер использует "gitlab-runner 11.6". У меня есть эта ошибка:

Running with gitlab-runner 11.5.0 (3afdaba6)
  on docker-auto-scale fa6cab46
Using Docker executor with image docker ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
Using docker image 
sha256:dfd9350d475b431e4b9b037fe31f4f0df70d597688776f3b10 
for docker:dind ...
Waiting for services to be up and running...
Pulling docker image docker ...
Using docker image 
sha256:21df41782cc5884b85b5d32f3d0ec552aaee788ac0a7a36d7d4e4b0 for 
docker ...
Running on runner-fa6cab46-project-10114523-concurrent-0 via runner- 
fa6cab46-srm-1546518230-c1805b24...
Cloning repository...
Cloning into '/builds/marattm/investordatabase'...
Checking out b15507d3 as master...
Skipping Git submodules setup
$ sudo apt-get install -y python-pip
/bin/sh: eval: line 68: sudo: not found
ERROR: Job failed: exit code 127

В этом случае gitlab ci не использует мой бегун, который я конфигурирую. Это используя общий бегун enter image description here

1 Ответ

0 голосов
/ 06 января 2019

Запуск с помощью gitlab-runner 11.5.0 (3afdaba6) на докер-авто-шкале

Gitlab runner в docker-auto-scale - это общедоступный общий бегун, предоставляемый gitlab.com
Перейдите в настройки -> ci / cd -> runner -> right site - все общие бегуны перечислены с тегами.

Есть два способа избежать использования общего бегуна.

a) Зайдите в настройки -> ci / cd -> runner -> нажмите «отключить общих бегунов»
б) присвойте своему бегуну уникальный тег и используйте этот тег на всех ваших работах. это обеспечит выполнение задания только на том исполнителе, у которого есть этот тег.

Для получения дополнительной информации:
* https://docs.gitlab.com/ce/ci/yaml/#tags
* https://docs.gitlab.com/ce/ci/runners/#using-tags

...