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
Даже после добавления строки я получаю ту же ошибку. Любая другая причина для такой ошибки?
Ответ 6
В качестве обходного пути можно использовать образ докера GitLab-Runner. Я нашел этот подход https://angristan.xyz/build-push-docker-images-gitlab-ci/ лучшим (из fooobar.com/questions/17948384/...)
Больше информации в официальной документации https://docs.gitlab.com/runner/install/docker.html
Ответ 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
И я могу работать на местах.