Wydaje się, że runner GitLab jeszcze nie działa w systemie Windows i istnieje otwarty problem, aby rozwiązać ten problem .
W międzyczasie przenoszę więc kod mojego skryptu do skryptu bash, który mogę łatwo zmapować do kontenera docker działającego lokalnie i wykonać.
W tym przypadku chcę w mojej pracy zbudować kontener docker, więc tworzę skrypt 'build':
docker build --pull -t myimage:myversion .
w moim .gitlab-ci.yaml wykonuję skrypt:
image: docker:latest
services:
- docker:dind
before_script:
- apk add bash
build:
stage: build
script:
- chmod 755 build
- build
Aby uruchomić skrypt lokalnie za pomocą PowerShell, mogę uruchomić wymagany obraz i zmapować wolumin z plikami źródłowymi:
$containerId = docker run --privileged -d -v ${PWD}:/src docker:dind
zainstaluj bash, jeśli nie jest obecny:
docker exec $containerId apk add bash
Ustaw uprawnienia do skryptu bash:
docker exec -it $containerId chmod 755 /src/build
Wykonaj skrypt:
docker exec -it --workdir /src $containerId bash -c 'build'
Następnie zatrzymaj pojemnik:
docker stop $containerId
I na koniec wyczyść pojemnik:
docker container rm $containerId