У меня есть Docker изображение, встроенное в AWS ECR и помеченное как последнее.
Теперь в моем файле Jenkins мне нужно вытащить созданный образ из ECR и развернуть мои шаги в Jenkinsfile
Я попробовал описанные ниже способы, но по-прежнему выдает ошибку.
Опция 1: auth_creds = {'username': root, 'password': root}
dockerd.images.pull(ecr.get_repo(tag='latest',auth_config=auth_creds)
Опция 2: Это закомментировано во всем конвейере.
script
{
sh "eval \$(aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin $ECR)"
sh "docker pull ${ECR_URL}"
}
Полный конвейер:
pipeline {
agent any
environment {
// PROJECT = 'EG'
ECR_URL = '$AWS_ACCOUNT.dkr.ecr.$REGION.amazonaws.com'
}
options {
buildDiscarder(logRotator(numToKeepStr: '3'))
}
stages {
stage('Docker image pull') {
steps {
// Option 1
auth_creds = {
'username': ecr.username,
'password': ecr.password
}
dockerd.images.pull(ecr.get_repo(tag = 'latest', auth_config = auth_creds)
/* script
{
// Option 2
sh("eval \$(aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin $ECR)")
sh "docker pull ${ECR_URL}"
} */
}
}
stage('Clone') {
steps {
checkout scm
}
}
}
}
Примечание: мне нужно вытащить мое docker изображение из AWS ECR, используя последний тег. После извлечения я должен упомянуть образ на своих этапах (Создание инфраструктуры и развертывание)