#gitlab-ci #gitlab-ci-runner #amazon-ecr
#gitlab-ci #gitlab-ci-runner #amazon-ecr
Вопрос:
Я загружаю изображение в свой конвейер из ECR. Сначала мне нужно пройти аутентификацию с помощью eval $(aws ecr get-login --region eu-west-2 --no-include-email | sed 's|https://||')
однако я понятия не имею, как использовать его в рабочем процессе CI, поскольку это должно выполняться до извлечения изображения:
e2e:
stage: test
image: 2xxxxxxxxxxxxx8.dkr.ecr.eu-west-2.amazonaws.com/training-users_db
services:
- postgres:12.2-alpine
variables:
AWS_ACCOUNT_ID: $AWS_ACCOUNT_ID
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_KEY: $AWS_SECRET_ACCESS_KEY
POSTGRES_DB: users
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
DATABASE_TEST_URL: postgres://postgres:postgres@postgres:5432/users
FLASK_ENV: development
SECRET_KEY: $SECRET_KEY
script:
- eval $(aws ecr get-login --region eu-west-2 --no-include-email | sed 's|https://||')
Как я могу войти в ECR прямо перед извлечением изображения?
Комментарии:
1. Вы используете общий бегун gitlab или бегун, использующий EC2?
2. @Thorax Я использую общие бегуны.
Ответ №1:
Это самое близкое, что я нашел для документации по этому вопросу: https://mherman.org/blog/gitlab-ci-private-docker-registry / Но я еще не смог заставить его работать так, как описано. Я все еще получаю некоторые ошибки аутентификации, когда он пытается извлечь мое изображение. У меня открыт запрос в службу поддержки, чтобы попытаться разобраться, но, может быть, вы сможете заставить его работать?
Комментарии:
1. Спасибо за ссылку. Я реализовал то, что узнал из сообщения в блоге. Пока не работает. По-прежнему выдает «нет базовых учетных данных для авторизации». Я обратился к автору сообщения, если он может предоставить более подробную информацию.