コミットする前に、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の使用
現時点では、WindowsのDockerエグゼキューターに対する公式サポートはありません。進行中の作業 issue は現在オープンしており、一部の人々は、Windows Dockerエグゼキューターがそのマージ要求でさまざまな成功を収めることができたようです。
これは 特定のコメント が カスタムビルドのgitlab-runner を使用してどのように設定したかを示しています。ただし、これがサービスでどのように機能するかは不明なので、YMMVです。
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