Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gitlab-runner local build - login from non TTY device

Tags:

docker

gitlab

I'm trying to build my project locally using gitlab-runner on Linux.

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" 

Unfortunately my attempts end with error about "docker login" not being able to perform interactive login from non-TTY device.

$ 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  

My question is has anybody stumbled upon this issue and how to succesfunlly perform build?

like image 798
asdfgh Avatar asked Apr 06 '17 07:04

asdfgh


1 Answers

Probably not linked to the problem here, but some people might encounter the exact same message when trying a docker login from a Linux like terminal on Windows such as Git bash or Docker quickstart terminal or even Cygwin.

The trick here is to use winpty docker login

like image 101
Victor Petit Avatar answered Oct 22 '22 12:10

Victor Petit