Gitlab CI Build失败了gitlab-runner-prebuilt.tar.xz:没有这样的文件或目录

时间:2018-02-20 17:40:50

标签: gitlab gitlab-ci gitlab-ci-runner

我刚刚在我的开发机器(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

7 个答案:

答案 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

更多信息在官方文档https://docs.gitlab.com/runner/install/docker.html

答案 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 

它运行完美。