Назад | Перейти на главную страницу

Вход в Docker из GitLab CI без возможности доступа к паролю реестра Docker из .gitlab-ci.yaml?

Я пытаюсь настроить среду CI для создания и отправки образа Docker для проекта. Реестр Docker, на который я пытаюсь нажать, - это частный реестр, который требует от меня входа. Я могу войти в реестр с помощью docker login my-registry команда.

Я не могу изменить конфигурацию реестра.

В настоящее время я использую GitLab shell runner на моем ПК, который создает образ Docker. Бегун также должен иметь возможность войти в реестр с помощью вышеупомянутой команды. Проблема в том, что ему, конечно, нужны учетные данные.

Я не хочу хранить учетные данные в виде обычного текста где-нибудь в gitlab-runner пользователь может получить к ним доступ напрямую, потому что кто-то с доступом к .gitlab-ci.yaml мог бы тогда просто сделать cat password.txt или docker-credentials-secretservice get или что-то подобное для получения учетных данных.

Вопросы:

на вашей машине runner попробуйте su на gitlab-runner и docker login -u username private.host. Затем учетные данные для входа будут сохранены в ~ / .docker / config.json, и теперь они будут хороши для команд gitlab-runner docker.