Проблемы с установкой и настройкой CI / CD - PullRequest
0 голосов
/ 27 мая 2020

У нас полностью настроен и работает идеальный корпоративный gitlab сервер. И теперь я пытаюсь использовать на нем CI / CD.
1. Наш системный администратор предоставил мне виртуальный сервер в корпоративной сети с установленным ubuntu 20.04.
2. Я прочитал (и понимаю) документацию об установке и настройке gitlab runner, docker engine, docker machine, docker hub, программное обеспечение виртуального бокса.
3. Я установил Gitlab Runner на виртуальный сервер.
4. Я регистрирую runner с типом "shell"
5 . Создайте проект с этим .gitlab-ci.yml файлом:

test_variable:
  before_script:
    - docker info
    - docker run --rm hello-world
  stage: test
  script:
    - echo $CI_JOB_STAGE
    - ls -la
    - tree
Я запускаю конвейер CI / CD и убеждаюсь, что все работает нормально.
Затем я пытаюсь запустить это в docker:
Установить двигатель docker.
Установите машину docker (разветвленная версия из gitlab) (я пробую обе версии)
Я создаю новую машину. Все работает отлично.
Сейчас я тестирую его локально - запускаю docker, запускаю новую docker машину, создаю новую машину и снова запускаю - все работает нормально.
I зарегистрируйте новый бегун с типом «docker».
И этот новый бегун не работает с тем же .gitlab-ci.yml файлом:
Running with gitlab-runner 11.2.0 (11.2.0)
   on docker-runner zQ6fuswY
 Using Docker executor with image ubuntu ...
 Pulling docker image gitlab-runner-helper:11.2.0 ...
 ERROR: Failed to create container volume for /var/builds/work/rbushnyakov 
  Error response from daemon: pull access denied for gitlab-runner-helper, 
  repository does not exist or may require 'docker login': denied: requested 
  access to the resource is denied (executor_docker.go:166:1s)
 ERROR: Job failed: Error response from daemon: pull access denied for gitlab-runner-helper,
  repository does not exist or may require 'docker login': denied: requested access to the 
  resource is denied (executor_docker.go:166:1s)

Что я делаю не так и в чем моя ошибка?

Мой / etc / gitlab-runner / config.toml

  [[runners]]
    name = "simple-runner"
    url = "https://git.our.corporate.site/"
    token = "XXXXXXXXXXXXX"
    executor = "shell"
    shell = "bash"
    builds_dir = "/var/builds/work/"
    cache_dir = "/var/builds/cache/"
    [runners.cache]
  [[runners]]
    name = "docker-runner"
    url = "https://git.our.corporate.site/"
    token = "XXXXXXXXXXXXXXX"
    executor = "docker"
    builds_dir = "/var/builds/work/"
    cache_dir = "/var/builds/cache/"
    [runners.docker]
      tls_cert_path = "/root/.docker/machine/machines/default"
      tls_verify = false
      image = "ubuntu"
      privileged = true
      disable_cache = false
      volumes = ["/var/builds/cache"]
      shm_size = 0
    [runners.cache]

Спасибо за внимание, очень надеюсь на помощь.

1 Ответ

1 голос
/ 24 июля 2020

Я решил эту проблему. Спасибо за это решение. Проблема в том, что цитата:

... причина этого в том, что мы используем ревизию Git в выводе gitlab-runner --version, чтобы получить правильный вспомогательный образ, а официальный Двоичные файлы GitLab Runner выводят SHA фиксации, а не тег: ...

Итак, во время первой загрузки движок docker хочет получить определенные теги, но эти теги отсутствуют. Итак, я загрузил gitlab-runner-helper версии 11.2.0 с другим тегом, который работает, и переименовал его локально.

Перейдите по ссылке и внимательно прочтите. Более подробно это описано там.

...