我即将在Gitlab中与Golang软件实现完整(无需测试阶段)的持续集成。
当我尝试在该docker login步骤中构建 Docker 映像时,它失败了。
这是我的.gitlab-ci.yml:
stages:
- build
variables:
REGISTRY: registry.gitlab.com
GO_PROJECT: mysoftware
build_golang_binary:
image: golang:latest
stage: build
before_script:
- mkdir -p ${GOPATH}/src/${GO_PROJECT}
- cp -r ${CI_PROJECT_DIR}/* ${GOPATH}/src/${GO_PROJECT}/
- cd ${GOPATH}/src/${GO_PROJECT}
- go get
script:
- cd ${GOPATH}/src/${GO_PROJECT}
- go build
build_docker_image:
image: docker:latest
stage: build
script:
- docker login $REGISTRY
- docker build --no-cache -t ${REGISTRY}/me/${GO_PROJECT} .
- docker push ${REGISTRY}/me/${GO_PROJECT}
这是我收到的错误:$ docker login $REGISTRY
Error: Cannot perform an interactive login from a non TTY device
我认为凭证将被提供到这个 CI 过程中。显然,事实并非如此。
解决这个问题的最佳选择是什么?
临摹微笑
相关分类