मैं लिनक्स पर गिटलैब-धावक का उपयोग करके स्थानीय रूप से अपनी परियोजना का निर्माण करने की कोशिश कर रहा हूं।गिटलाब-धावक स्थानीय निर्माण - गैर टीटीवाई डिवाइस से लॉगिन
docker-build:
stage: build
image: docker:latest
script:
- docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" $CI_REGISTRY # user "gitlab-ci-token" is automatically created by GitLab
- docker build -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" target/
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME"
दुर्भाग्य से मेरे प्रयासों के बारे में "डोकर लॉगिन" नहीं गैर TTY डिवाइस से इंटरैक्टिव लॉगिन प्रदर्शन करने में सक्षम किया जा रहा है त्रुटि के साथ समाप्त होता है।
$ gitlab-ci-multi-runner exec docker --docker-privileged docker-build
Running with gitlab-ci-multi-runner 1.11.1 (a67a225)
on ()
Using Docker executor with image docker:latest ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
Waiting for services to be up and running...
Pulling docker image docker:latest ...
Running on runner--project-1-concurrent-0 via vanqyard...
Cloning repository...
Cloning into '/builds/project-1'...
done.
Checking out 70187b2d as docker-basic-conf...
Skipping Git submodules setup
Checking cache for docker-build/docker-basic-conf...
Successfully extracted cache
$ docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" $CI_REGISTRY
Error: Cannot perform an interactive login from a non TTY device
ERROR: Job failed: exit code 1
FATAL: exit code 1
मेरा प्रश्न किसी ने इस मुद्दे पर ठोकर खाई है और कैसे सफलतापूर्वक निर्माण करने के लिए?
इसके बाद से आप आदेश में साख प्रदान कर रहे हैं इंटरैक्टिव मोड में जाने नहीं करना चाहिए में आदेश
echo $CI_JOB_TOKEN
शामिल हैं। क्या आप 'gitlab-ci-token' और '$ CI_JOB_TOKEN' के आस-पास के उन दोहरे उद्धरणों के बारे में निश्चित हैं? हो सकता है कि क्रेडेंशियल्स का गलत अर्थ है क्योंकि लॉगिन और इंटरैक्टिव मोड पर वापस आ जाता है ??? – Jawadउद्धरणों से छुटकारा पाने से "ध्वज को एक तर्क की आवश्यकता होती है: 'पी' इन-पी", इसलिए मैं अनुमान लगा रहा हूं कि उद्धरणों का उपयोग सही है। – asdfgh