Извлечение Docker изображения из ECR и использование в файле Jenkins - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть 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, используя последний тег. После извлечения я должен упомянуть образ на своих этапах (Создание инфраструктуры и развертывание)

...