テスト用に開発マシン(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
今日も同じ問題が発生しました。 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 http://deb.debian.org/debian/
これで、スクリプトはエラーなしで続行するはずです。 debootstrapの詳細については、 こちら をご覧ください。
このコマンドを試して問題を修正できます。
$ Sudo find / -name "mk-prebuilt-images.sh"
おそらくそれは見つけるでしょう
/usr/lib/gitlab-runner/mk-prebuilt-images.sh
回避策として、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
Ubuntu 12.04で同様の問題が発生しました。これは、バージョン12.0.5ではなく、バージョン10.5のネイティブgitlab-runnerパッケージを誤ってインストールしたために発生しました。
この修正は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をインストールでき、上記の問題は解決しました。
実際、トップアンサーでさえ助けにはなりません(少なくとも私の状況では)。
/usr/lib/gitlab-runner/mk-prebuilt-images.shを開きます
最後の行は次のようになります。
"stable" "./debian-minbase" "http://deb.debian.org/debian/" \