私はgitlab-runner
Gentooを実行している古いx86システムにこれを設定しようとしています。私は持っていますパッチ済み gitlab-runner
ソースコードがi686アーキテクチャに収まらずランニングを有効にしたため、docker
現在gitlab-runner
エラーが返されています。
ERROR: Failed to create container volume for /builds/Python exit code 1 job=XXX project=XXX runner=HASH
そしてdocker
順番にこのステートメントを返します。
devmapper: Failed to read /var/lib/docker/devicemapper/metadata/HASH with err: open /var/lib/docker/devicemapper/metadata/HASH: no such file or directory
これにより、指定したパスにどのユーザーまたはグループと権限を設定する必要があるかを尋ねられます。ls -al /var/lib/docker/devicemapper
次を返します。
total 16
drwx------ 4 root root 4096 Aug 1 05:40 .
drwx--x--x 11 root root 4096 Aug 1 05:00 ..
drwx------ 2 root root 4096 Aug 1 06:11 metadata
drwxr-xr-x 5 root root 4096 Aug 1 06:11 mnt
または、私のgitlab-runner
権限が正しくない可能性があります。docker
画像を作成し、問題なくプルダウンすることができ、適切なソケットが生成されます(ある質問によると、これは原因かもしれませんが、私の場合はそうではありませんでした)。
ベストアンサー1
私はこの問題を解決しました。コンパイル時に、Gitlab-Runnerには、go-bindataを使用してサポートされている各アーキテクチャに対して事前に構築されたDockerイメージのセットが含まれています。 gitlab-runnerが初めて実行されると、システムに適した組み込みバイナリを抽出し、それを使用してタスクを実行しようとします。 x86 システムの docker executor を対象にしているため x86 イメージと思われるものをインポートするので、私のパッチは AMD64 イメージを提供します。その結果、dockerはエラーが発生し、gitlab-runnerはビルドを放棄し、苦情を表示します。秘訣は、描画ボードに戻って事前に構築されたx86イメージをコンパイルすることです。私はdockerから事前に構築されたイメージを直接呼び出し、gitlab-runnerをインストールし、1回以上実行した後にこれを行う方法を見つけました。