Gitlab CI Build failed gitlab-runner-prebuilt.tar.xz: нет такого файла или каталога

Я только что установил Gitlab Runner на свою dev-машину (Ubuntu 17.10) для тестирования. Когда я запускаю бегун, я получил:

$: sudo gitlab-runner exec docker test       
   Running with gitlab-ci-multi-runner dev (1.4.2)
   Using Docker executor with image php:5.6 ...
   ERROR: Build failed (system failure): open /var/lib/gitlab-runner/gitlab-runner-prebuilt.tar.xz: no such file or directory
   FATAL: open /var/lib/gitlab-runner/gitlab-runner-prebuilt.tar.xz: no such file or directory 

.gitlab-ci.yml файл:

image: php:5.6

before_script:
  - php -v

stages:
  - test

test:
  script:
  - php -v

Текущий процесс установки:

sudo apt-get install gitlab-runner

Выход:

...
Configuring gitlab-ci-multi-runner (1.4.2+dfsg-1) ...
I: generating GitLab Runner Docker image. This may take a while...
E: No mirror specified and no default available
W: please run 'sudo /usr/lib/gitlab-runner/mk-prebuilt-images.sh' to generate Docker image.
...

Так я и сделал:

$: sudo /usr/lib/gitlab-runner/mk-prebuilt-images.sh
   I: generating GitLab Runner Docker image. This may take a while...
   E: No mirror specified and no default available

Ответы

Ответ 1

Сегодня такая же проблема. Выключает команду cdebootstrap в mk-prebuilt-images.sh, вызывая это сообщение об ошибке:

cdebootstrap \
     --flavour=minimal \
     --exclude="dmsetup,e2fsprogs,init,systemd-sysv,systemd,udev" \
     --include="bash,ca-certificates,git,netcat-traditional" \
     stable ./debian-minbase

Измените последнюю строку на:

     stable ./debian-minbase http://deb.debian.org/debian/ 

Теперь скрипт должен действовать без ошибок. Более подробную информацию о debootstrap можно найти здесь.

Ответ 2

Вы можете попробовать эту команду, чтобы исправить вашу проблему:

$ sudo find / -name "mk-prebuilt-images.sh"

Скорее всего потом найдет

/usr/lib/gitlab-runner/mk-prebuilt-images.sh

Ответ 3

У меня была похожая проблема в Ubuntu 18.04, которая возникла из-за того, что я случайно установил нативный пакет gitlab-runner версии 10.5 (вместо 12.2.0).
Исправление для этого предоставлено в gitlab-runner руководство по установке.

Мне просто нужно было вручную установить источник для пакета, добавив файл конфигурации закрепления со следующим содержимым:

cat <<EOF | sudo tee /etc/apt/preferences.d/pin-gitlab-runner.pref
Explanation: Prefer GitLab provided packages over the Debian native ones
Package: gitlab-runner
Pin: origin packages.gitlab.com
Pin-Priority: 1001
EOF

После этого я смог установить gitlab-runner версии 12.2.0, и упомянутая выше проблема была решена.

Ответ 4

На самом деле даже верхний ответ не поможет (по крайней мере, в моей ситуации).

Откройте /usr/lib/gitlab-runner/mk-prebuilt-images.sh

и последняя строка должна выглядеть так:

"stable" "./debian-minbase" "http://deb.debian.org/debian/" \

Ответ 5

Даже после добавления строки я получаю ту же ошибку. Любая другая причина для такой ошибки?

Ответ 7

Принятый в настоящее время ответ (редактирование скрипта mk-prebuilt-images.sh) у меня не сработало, но я нашел, как это исправить для моего случая:

Я был неправ, когда просто делал apt-get install gitlab-runner, и проверил мою версию:

$ gitlab-runner -v
Version:      10.5.0

которая не самая последняя версия, я ожидала, что будет версия 12.

Итак, я нашел это руководство по установке:

https://gitlab.com/gitlab-org/gitlab-runner/blob/master/docs/install/linux-repository.md

В этом руководстве говорится, чтобы добавить обновленный репозиторий:

# For Debian/Ubuntu/Mint
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash

# For RHEL/CentOS/Fedora
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash

Затем установите его:

apt-get update
apt-get install gitlab-runner

А теперь у меня есть:

$ gitlab-runner -v
Version:      12.3.0

И я могу работать на местах.