web-dev-qa-db-ja.com

Gitlab-runner + Docker + Windows-無効なボリューム指定

コミットする前に、Gitlab-runnerとdockerを使用してGitlab CIをローカルで実行して、問題なく動作することを確認しようとしています。しかし、私はいくつかの奇妙な問題を抱えています!

残念ながら私はWindowsを使用する以外に選択肢はありません(これまでLinuxで成功しました)。

PowerShellでジョブを実行するたびに:

_C:/Gitlab-runner/gitlab-runner exec docker npm_

エラーが発生します:

Job failed (system failure): Error response from daemon: invalid volume specification: '/Host_mnt/c/builds/project-0/Users/Lewsmith/api:C:/Users/Lewsmith/api:ro' (executor_docker.go:921:0s)

私はDockerボリューム(さまざまな組み合わせ)とbuilds-dirを設定してみました:

_C:/Gitlab-runner/gitlab-runner exec docker --builds-dir /builds --docker-privileged --docker-volumes "/builds:C:/Gitlab-runner/builds" npm_

Cの後のコロンのため、これは_Error response from daemon: invalid mode: /Gitlab-runner/builds_で失敗します。

困ったときに誰かが私を正しい方向に向けることができますか?

Gitlab-runnerバージョン11.5.0の使用

10
Lewsmith

現時点では、WindowsのDockerエグゼキューターに対する公式サポートはありません。進行中の作業 issue は現在オープンしており、一部の人々は、Windows Dockerエグゼキューターがそのマージ要求でさまざまな成功を収めることができたようです。

これは 特定のコメントカスタムビルドのgitlab-runner を使用してどのように設定したかを示しています。ただし、これがサービスでどのように機能するかは不明なので、YMMVです。

2
Rekovni

Dockerは、Windows上のGitLab Runnerではまだ完全にサポートされていません。回避策はLinuxのWindowsサブシステムを使用し、そこにgitlab-runnerをインストールすることです:

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | Sudo bash
Sudo apt-get install gitlab-runner
gitlab-runner exec docker build
0