GitLab धावक अभी तक विंडोज पर काम नहीं करता है और इसे हल करने के लिए एक खुला मुद्दा है ।
तो, इस बीच मैं अपने स्क्रिप्ट कोड को बैश स्क्रिप्ट पर स्थानांतरित कर रहा हूं, जिसे मैं आसानी से डॉकटर कंटेनर में मैप कर सकता हूं स्थानीय रूप से चलने वाले और निष्पादित ।
इस मामले में मैं अपनी नौकरी में एक डॉकटर कंटेनर बनाना चाहता हूं, इसलिए मैं एक स्क्रिप्ट 'बिल्ड' बनाता हूं:
docker build --pull -t myimage:myversion .
मेरे .itlab-ci.yaml में मैं स्क्रिप्ट निष्पादित करता हूं:
image: docker:latest
services:
- docker:dind
before_script:
- apk add bash
build:
stage: build
script:
- chmod 755 build
- build
स्थानीय रूप से पॉवरशेल का उपयोग करके स्क्रिप्ट चलाने के लिए मैं आवश्यक छवि शुरू कर सकता हूं और स्रोत फ़ाइलों के साथ वॉल्यूम को मैप कर सकता हूं:
$containerId = docker run --privileged -d -v ${PWD}:/src docker:dind
मौजूद न होने पर बैश स्थापित करें:
docker exec $containerId apk add bash
बैश स्क्रिप्ट पर अनुमतियाँ सेट करें:
docker exec -it $containerId chmod 755 /src/build
स्क्रिप्ट निष्पादित करें:
docker exec -it --workdir /src $containerId bash -c 'build'
फिर कंटेनर बंद करें:
docker stop $containerId
और अंत में कंटेनर को साफ करें:
docker container rm $containerId