fatal: не удалось прочитать имя пользователя для 'https://gitlab.com': терминальные запросы отключены - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь создать docker образ для приложения go, использующего разные go пакеты из разных частных репозиториев gitlab. Когда я делал это на своем локальном компьютере, мне пришлось добавить следующие команды, чтобы заставить его работать:

git config --global url.git@gitlab.com:.insteadOf https://gitlab.com/
export GOPRIVATE=*gitlab*

В этом случае мой ключ s sh будет использоваться, и он работал нормально ,

Теперь я хочу сделать то же самое при создании образа Docker, но без использования ключей s sh, поэтому я решил использовать токен развертывания (токен имеет доступ ко всем репозиториям в группе gitlab) .

dockerfile:

FROM golang:1.14 AS builder

...

ARG USER
ARG KEY

RUN git config --global url."https://${USER}:${KEY}@gitlab.com/".insteadOf "https://gitlab.com/"
RUN export GOPRIVATE=*gitlab*

очевидно, это не сработало, и я получаю следующую ошибку:

Fatal: could not read Username for 'https://gitlab.com': terminal prompts disabled

Не могли бы вы поделиться своими идеями о том, как я может заставить его работать, используя токены развертывания?

1 Ответ

1 голос
/ 19 апреля 2020

В качестве обходного пути я клонирую репозиторий вручную, а затем редактирую go mod файл

RUN git clone https://${USER}:${KEY}@gitlab.com/mygroup/myproject
RUN go mod init gitlab.com/mygroup/go-dns
RUN go mod edit -replace=gitlab.com/mygroup/myproject=./myproject
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...