![](/img/trans.png)
[英]How to access private GitHub repositories in docker-compose?
[英]Docker-Compose - Import private repositories in go test
我剛剛遇到了一個非常奇怪的問題,我真的不明白目前正在發生的事情..
我有一個項目,同時進行了一些 e2e 測試,一切正常。 出於某種原因,我不得不使用我的一些私有存儲庫(來自 gitlab),因為我開發了一些與數據庫和其他目的相關的層。
問題是,當我嘗試從 docker compose 命令運行go test
時,它現在失敗並顯示以下消息:
e2e_tests_1 | FAIL gitlab.com/foo-bar-group/awesome-api/tests/e2e [setup failed]
e2e_tests_1 | # gitlab.com/foo-bar-group/awesome-api/tests/e2e
e2e_tests_1 | internal/domain/models/file_infos.go:7:2: gitlab.com/emixam23-generic-utils/google-cloud-storage@vxxx: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /go/pkg/mod/cache/vcs/xxx: exit status 128:
e2e_tests_1 | fatal: could not read Username for 'https://gitlab.com': terminal prompts disabled
e2e_tests_1 | FAIL
我有一個簡單的 docker 組合,它運行 3 個容器(mongodb、elasticsearch、自定義 golang docker 圖像)。 我的 Dockerfile 有一個小腳本,可以幫助我(並且正在工作)知道什么時候一切都准備好進行全面測試
Dockerfile
FROM golang:1.17.6
WORKDIR /app
ENV GO111MODULE on
# Download wait for it tool.
ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /wait-for-it
RUN chmod +x /wait-for-it
docker-compose.tests-e2e.yml
version: "3.7"
services:
mongodb_e2e_tests:
image: mongo:5.0.4
elasticsearch_e2e_tests:
image: docker.elastic.co/elasticsearch/elasticsearch:7.15.0
environment:
- "discovery.type=single-node"
e2e_tests:
build:
context: .
dockerfile: Dockerfile.e2e_tests
environment:
# ...
depends_on:
- mongodb_e2e_tests
- elasticsearch_e2e_tests
volumes:
- .:/app
command: sh -c "/wait-for-it elasticsearch_e2e_tests:9200 -- /wait-for-it mongodb_e2e_tests:27017 -- go test ./tests/e2e/... -p 1 -v -count=1"
一切似乎都像以前一樣工作,直到go test./tests/e2e/... -p 1 -v -count=1
從現在開始,在go 獲得時間,無法獲取我的私人存儲庫...
Thanks for any help.. I really did search to inject SSH, so setup git and everything but.. It seems to have something to do with docker-compose... not my Dockerfile image or my golang command
再次感謝..
最好的,
最大限度
你檢查過這個答案嗎?
https://stackoverflow.com/a/38237165/4486909
go get
默認禁用“終端提示”。
這可以通過設置 git 的環境變量來改變:
env GIT_TERMINAL_PROMPT=1
嘗試將以下變量添加到您的 docker-compose env
部分:
GIT_TERMINAL_PROMPT=1
此外,您可以通過以下方式獲得 go:
TERM=xterm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.