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

Используйте изображение ECR в качестве агента в Jenkins

Я бы хотел использовать образ ECR в качестве агента в Jenkins при использовании декларативного конвейера.

Текущая вершина скрипта конвейера выглядит так:

pipeline {
    agent {
        docker {
            image '01111111111.dkr.ecr.eu-west-1.amazonaws.com/some-repo/some-image'
        }
    }

И ошибка, которую я получаю:

Error response from daemon: pull access denied for 01111111111.dkr.ecr.eu-west-1.amazonaws.com/some-repo/some-image, repository does not exist or may require 'docker login'

Что имеет смысл, ECR требует входа в систему, но вы не можете просто ввести стандартное имя пользователя и пароль, поскольку это система токенов, поэтому со временем они будут меняться.

Экземпляр рабочего EC2 имеет роль с правами на извлечение из ECR, а извлечение из ECR отлично работает на этапе, это просто в директиве агента.

Есть ли у кого-нибудь способ обойти это или плагин, который мог бы позволить мне использовать это изображение в качестве агента.

Один рабочий раунд - вытащить контейнер или построить его для другой работы, но это не помогает, если есть обновления, и это скорее рабочий цикл, а не решение.