我刚刚在我的开发机器(Ubuntu 17.10)上安装了Gitlab Runner进行测试。 当我跑步时,我得到了:
$: 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
答案 0 :(得分:52)
今天遇到同样的问题。原来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的更多信息可以在here找到。
答案 1 :(得分:3)
当前接受的答案(编辑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
我可以在本地运行作业。
答案 2 :(得分:2)
您可以尝试使用以下命令解决问题:
$ sudo find / -name "mk-prebuilt-images.sh"
然后很可能会找到
/usr/lib/gitlab-runner/mk-prebuilt-images.sh
答案 3 :(得分:1)
我在ubuntu 18.04上遇到了类似的问题,这是由于我不小心安装了本机gitlab-runner软件包(版本10.5(而不是12.2.0))引起的。
gitlab-runner installation guide中提供了此修复程序。
我只需要通过添加带有以下内容的固定配置文件来手动设置软件包的来源:
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 :(得分:0)
实际上,甚至最好的答案也无济于事(至少在我看来)。
打开/usr/lib/gitlab-runner/mk-prebuilt-images.sh
最后一行应如下所示:
"stable" "./debian-minbase" "http://deb.debian.org/debian/" \
答案 5 :(得分:0)
作为解决方法,可以使用GitLab-Runner泊坞窗映像。我发现这种方法https://angristan.xyz/build-push-docker-images-gitlab-ci/是最好的(来自https://stackoverflow.com/a/56765508/3743145)
中答案 6 :(得分:0)
我在Linux Mint 19.3上遇到了同样的问题。即使从gitlab.com获取软件包,我也仍然停留在10.5版本上
deb https://packages.gitlab.com/runner/gitlab-runner/linuxmint/ tricia main
deb-src https://packages.gitlab.com/runner/gitlab-runner/linuxmint/ tricia main
我回过头来获得.deb软件包并手动安装(遵循howto)。
curl -LJO https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb
sudo dpkg -i ./gitlab-runner_amd64.deb
它运行完美。