Gitlab runner: сбой входа в GitLab Container Registry

После настройки gitlab-runner в качестве контейнера Docker с исполнителем dockerЯ не могу запустить какие-либо сборки. Отображаемый журнал выглядит следующим образом:

Running with gitlab-runner 11.4.2 (cf91d5e1)
  on <hostname> 9f1c1a0d
Using Docker executor with image docker:stable-git ...
Starting service docker:stable-dind ...
Pulling docker image docker:stable-dind ...
Using docker image sha256:acfec978837639b4230111b35a775a67ccbc2b08b442c1ae2cca4e95c3e6d08a for docker:stable-dind ...
Waiting for services to be up and running...
Pulling docker image docker:stable-git ...
Using docker image sha256:a8a2d0da40bc37344c35ab723d4081a5ef6122d466bf0a0409f742ffc09c43b9 for docker:stable-git ...
Running on runner-9f1c1a0d-project-1-concurrent-0 via a7b6a57c58f8...
Fetching changes...
HEAD is now at 5430a3d <Commit message>
Checking out 5430a3d8 as master...
Skipping Git submodules setup
$ # Auto DevOps variables and functions # collapsed multi-line command
$ setup_docker
$ build
Logging to GitLab Container Registry with CI credentials...
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password
ERROR: Job failed: exit code 1

Обратите внимание на попытку ligin to docker-hub (я полагаю) и credentials-error. Но я не желаю и не настраиваю имя пользователя / пароль для доступа к Docker-Hub. Любое предложение, что здесь не так или как продолжать отлаживать это?

Участник был зарегистрирован с помощью следующей команды (которая также определяет содержимое файла конфигурации):

docker run --rm -ti \
  -v <config-volume>:/etc/gitlab-runner \
  -v $(pwd)/self-signed-server.crt:/etc/ssl/certs/server.crt \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner register \
    --tls-ca-file /etc/ssl/certs/server.crt \
    --url https://my.server.url/gitlab/ --registration-token <token> \
    --name myserver --tag-list "" \
    --executor docker --docker-privileged --docker-image debian \
    --non-interactive

я использовал --docker-privileged потому что у меня изначально была та же проблема, что обсуждалась здесь (спасибо, wendellmva). Я просто не могу настроить запуск самого контейнера gitlab-runner, но не вижу проблемы link-fail-problem, хотя я этого не вижу.

1 ответ

Чтобы пройти этот пункт, нужно переписать CI_REGISTRY_USER переменная в настройках проекта -> CI / CD -> блок переменных. Присвоение пустого значения пройдет эту точку.

Справочная информация: экспортировав проект, а затем проанализировав параметры JSON с помощью jq, можно получить предварительно настроенный список команд, которые выполняются:

jq -r .pipelines[0].stages[0].statuses[0].commands project.json
# ...
function registry_login() {
  if [[ -n "$CI_REGISTRY_USER" ]]; then
    echo "Logging to GitLab Container Registry with CI credentials..."
    docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
    echo ""
  fi
}
# ...

Таким образом, по-видимому, предварительно загружена какая-то непустая строка CI_REGISTRY_USER, но с недействительным CI_REGISTRY_PASSWORD,

Чего я еще не нашел, так это где глобально настроить такие параметры для всех проектов или как редактировать конвейер AutoDevOps.

Другие вопросы по тегам