Gitlab CI生成失败Gitlab-runner-prebuild.tar.xz:没有这样的文件或目录
我刚刚在我的开发机器(Ubuntu 17.10)上安装了Gitlab Runner进行测试。 当我跑步时,我得到:Gitlab CI生成失败Gitlab-runner-prebuild.tar.xz:没有这样的文件或目录,gitlab,gitlab-ci,gitlab-ci-runner,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 /
$: 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
今天也有同样的问题。结果发现
usr/lib/gitlab runner/mk预构建映像中的cdebootstrap
命令导致此错误消息:
cdebootstrap \
--flavour=minimal \
--exclude="dmsetup,e2fsprogs,init,systemd-sysv,systemd,udev" \
--include="bash,ca-certificates,git,netcat-traditional" \
stable ./debian-minbase
将最后一行更改为:
stable ./debian-minbase https://deb.debian.org/debian/
脚本现在应该可以继续运行,不会出现任何错误。可以找到有关debootstrap的更多信息。您可以尝试使用此命令解决问题:
$ sudo find / -name "mk-prebuilt-images.sh"
最有可能的结果是
/usr/lib/gitlab-runner/mk-prebuilt-images.sh
作为解决方案,可以使用GitLab Runner docker image。我发现这个方法是最好的
更多信息在官方文档中我在ubuntu 18.04上遇到了类似的问题,这是因为我不小心安装了本地gitlab runner软件包,该软件包的版本是10.5(而不是12.2.0)。
gitlab runner中提供了对此的修复
我只需手动设置包的源代码,方法是添加一个包含以下内容的固定配置文件:
cat当前接受的答案(编辑mk prebuilded images.sh
script)对我不起作用,但我发现如何针对我的案例修复它:
我在执行apt get install gitlab runner时出错,并检查了我的版本:
$ gitlab-runner -v
Version: 10.5.0
这不是最新版本,我希望是12版
所以我找到了这个安装指南:
本指南要求添加最新的存储库:
# 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
我可以在本地运行作业。我在LinuxMint19.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包,并手动安装了它(如下所示)
它工作得非常完美。我很惊讶一年多后的今天,我昨天在18.04安装了gitlab runner,现在仍然是我修复它的方式……这里一样,以前没有问题,我更新到18.04,问题出现了,编辑这一行修复了您将http
而不是https
URL放在那里的任何特殊原因?@us2012很好!不过,我没有使用https进行检查。如果您可以确认它可以与https一起使用,我将编辑答案以使用此协议。解决方法是:在12.6.0中,安装后还需要手动创建目录'sudo mkdir/var/lib/gitlab runner',以这种方式安装13.8.0并立即运行
curl -LJO https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb
sudo dpkg -i ./gitlab-runner_amd64.deb