1

Hyper-V が有効になっている Windows Server に gitlab-runner があります。

docker API をネットワークに公開することで、Linux docker コンテナーを実行でき、docker:latest を使用して docker 自体を実行することもできます。

e:\>docker run -ti --rm -e DOCKER_HOST=tcp://10.99.0.12:2375 --name test docker:latest

/ # docker ps
CONTAINER ID ....
xxxxx docker:latest ... Up 10 seconds

/ # docker run -ti --rm busybox uname -a
Linux 42342423 4.14.35 ... 

それで、それはすべて正しいようです。

デプロイ段階で実行したい場合docker-compose up -d、gitlab-runner からエラーが発生します。

Running with gitlab-runner 12.10.0 (c553af1a)
   on Staging Runner
Preparing the "docker" executor
 ERROR: Removing network for build
 ERROR: Job failed: executor requires OSType=linux, but Docker Engine supports only OSType=windows

ホスト マシンで gitlab-runner を直接実行することもできますが、すべてをリポジトリに格納し、docker をインストールするだけで済みます。

4

2 に答える 2