【问题标题】:Gitlab CI Build failed gitlab-runner-prebuilt.tar.xz: no such file or directoryGitlab CI Build failed gitlab-runner-prebuilt.tar.xz:没有这样的文件或目录
【发布时间】:2018-07-31 03:59:24
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    今天遇到了同样的问题。原来usr/lib/gitlab-runner/mk-prebuilt-images.sh 中的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 的信息可以在here找到。

    【讨论】:

    • 我很惊讶它现在一年多后的样子,我昨天在 18.04 安装了 gitlab-runner,这仍然是我修复它的方式......
    • 这里一样,之前没问题,我更新到18.04出现问题,编辑这行修复了
    • 有什么特别的原因为什么要在其中放置http 而不是https URL?
    • @us2012 好点!不过,我没有用https检查它。如果您可以确认它适用于 https,我将编辑答案以改用此协议。
    • 解决方法在此问题中:gitlab.com/gitlab-org/gitlab-runner/issues/1605
    【解决方案2】:

    我在 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 
    

    完美运行。

    【讨论】:

      【解决方案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
      

      而且我可以在本地运行作业。

      【讨论】:

      • 与 12.6.0 也需要在安装后手动创建 dir 'sudo mkdir /var/lib/gitlab-runner'
      • 以这种方式安装 13.8.0 并且开箱即用
      【解决方案4】:

      我在 ubuntu 18.04 上遇到了类似的问题,这是因为我不小心安装了版本 10.5(而不是 12.2.0)的本机 gitlab-runner 包。
      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 并解决了上述问题。

      【讨论】:

        【解决方案5】:

        作为解决方法可以使用 GitLab-Runner docker 映像。我发现这种方法https://angristan.xyz/build-push-docker-images-gitlab-ci/ 是最好的(来自https://stackoverflow.com/a/56765508/3743145

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

        【讨论】:

          【解决方案6】:

          你可以试试这个命令来解决你的问题:

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

          它很可能会找到

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

          【讨论】:

            猜你喜欢
            • 2022-01-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-07-18
            • 1970-01-01
            • 1970-01-01
            • 2017-02-28
            相关资源
            最近更新 更多