У меня есть:
Тесты на основе TestContainers требуют, чтобы докер был доступен во время сборки проекта. Все изображения, необходимые для выполнения тестов, находятся в Nexus. Что, в свою очередь, означает - чтобы выполнить тесты на CI, я должен аутентифицировать докеры в Nexus, чтобы иметь возможность их вытащить. И вот откуда взялась проблема.
Я не понимаю, как мне аутентифицировать докер для чего-то, то есть для службы Windows (агент TeamCity).
Обычно это делается с помощью входа в докер
. Я попытался выполнить вход в докер
из административной оболочки PowerShell на хосте агента, и это действительно получилось - теперь я могу извлекать изображения из консоли администратора. Но попытка запустить тесты на агенте TeamCity терпит неудачу, сталкиваясь с ошибкой 401 Unauthorized при попытке вытащить изображения из Nexus. Мол, служба выполняется от какого-то пользователя, для которого вход в докер
не производился.
Как сделать так, чтобы докер был авторизован в частном реестре докеров для службы агента Windows 10 TeamCity?
Вы можете настроить авторизацию докеров в Teamcity, выбрав «Конфигурация сборки» -> «Функции сборки» -> «Добавить функцию сборки» -> «Поддержка докеров» -> «Добавить подключение к реестру»