Рубрики
Uncategorized

Как получить последнюю версию изображения в AWS ECR

— Сценарий Python, чтобы получить версию приложения с изображением Letet от ECR …. Tagged с AWS, DevOps, ECR, Cloudopz.

— Скрипт Python, чтобы получить версию приложения с изображением Letet от ECR.

— В некоторых случаях разработчики хотят знать последнюю версию приложения изображения, такую главную филиал для развертывания для постановки и продукта.

— Мы можем предоставить им инструмент (Slackbot, Chatops и т. Д.), Чтобы вызвать сценарий.

Что в этом документе

  • Получить код приложения
  • Запустить тест
  • Практика использования этого сценария

🚀 Получить код приложения

  • Получить последнюю версию изображения Master Branch от ECR с префиксом мастер- и последний толкнул в
import boto3
import re


def get_latest_master_image():
    """ Filter images with prefix master- and return the latest pushed one """
    client = boto3.client('ecr', region_name='ap-southeast-1')
    response = client.list_images(
        registryId='111111111111',
        repositoryName='repo/application',
        maxResults=1000
    )

    latest = None
    temp_tag = None

    for image in response['imageIds']:
        tag = image['imageTag']
        if re.search("^master-[0-9]+", tag):
            img = client.describe_images(
                registryId='111111111111',
                repositoryName='repo/application',
                imageIds=[
                    {
                        'imageTag': tag
                    },
                ]
            )
            pushed_at = img['imageDetails'][0]['imagePushedAt']
            if latest is None:
                latest = pushed_at
            else:
                if latest < pushed_at:
                    latest = pushed_at
                    temp_tag = tag
    return temp_tag, latest


version, pushed_at = get_latest_master_image()
print(f'app {version} pushed at {pushed_at}')

🚀 Запустите тест

⚡ $ python getImageVersion.py 
app master-12163 pushed at 2020-12-31 10:10:53+07:00

🚀 Практика использования этого сценария

  • Используя Slackbot

Зеркало :

Читать далее

  • Пеликан-резум с Docker-Compose и AWS + CDK
  • Использование Helm Install Botkube Integrate со Slack на EKS
  • Ansible AWS EC2 Dynamic Plagin
  • Как перечислить все включенные регионы в учетной записи AWS
  • Использование KMS в AWS в AWS Lambda
  • Создать план резервного копирования AWS
  • Методы написания наименее привилегии IAM Policies
  • Eks настойчивое хранилище с EFS Amazon Service
  • Создайте K8S Cronjob для планирования файлов Delete Expirt
  • Amazon ECR — Правила политики жизненного цикла
  • Подключить базу данных Postgres с использованием функции Lambda
  • Использование Sourceip в ALB Правило слушателя
  • Amazon Simple Systems Manager (SSM)
  • Англизация AWS CDN с использованием BOTO3
  • Создать функцию AWS Lambda, вызванная событием уведомления S3
  • CI/CD Invalidation AWS CDN с использованием трубопровода Gitlab
  • Создать Codedeploy
  • Гитлаб трубопровод с AWS Codedeploy
  • Создать контейнер изображения AWS-CDK
  • Развернуть функции Python Lambda с изображением контейнера
  • Пользовательские события CloudWatch

🌠 Блог · Web · LinkedIn · Группа · Страница · Twitter 🌠

Оригинал: «https://dev.to/vumdao/how-to-get-lastest-image-version-in-aws-ecr-4op2»