AWS ECR에서 최신 이미지 버전을 얻는 방법

3334 단어 ecrdevopsawscloudopz

- ECR에서 응용 프로그램의 최신 이미지 버전을 가져오는 Python 스크립트.



- 경우에 따라 개발자는 스테이징 및 제품에 배포하기 위한 마스터 브랜치와 같은 애플리케이션의 최신 이미지 버전을 알고 싶어합니다.



- 스크립트를 호출할 수 있는 도구(slackbot, ChatOps 등)를 제공할 수 있습니다.





이 문서의 내용


  • Get application code
  • Run test
  • A practice to use this script

  • 🚀 애플리케이션 코드 받기


  • ECR에서 접두사master- 및 최신pushed at이 있는 마스터 브랜치의 최신 이미지 버전을 가져옵니다.

  • 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
    


    🚀 이 스크립트를 사용하는 연습


  • 슬랙봇 사용



  • 거울:
  • https://github.com/vumdao/get-ecr
  • https://vumdao.hashnode.dev/how-to-get-lastest-image-version-in-aws-ecr

  • 더 읽어보기






















  • · 편물 · · · 페이지 ·

    좋은 웹페이지 즐겨찾기