본문 바로가기
IT 정보

GitHub actions을 이용한 람다 배포 자동화(ECR)

by 완기 2022. 2. 7.
728x90
반응형

이번 게시글은 docker로 빌드한 image를 람다에 배포하는 방법을 기록하려고 한다.

 

람다에서 codeDeploy를 이용하거나 CodeBuild를 이용할 수 있지만, 나는 aws cli를 이용하여 actions만 이용해서 배포에 성공했다.

 

그 일련의 과정을 기록한다.

 


Github Actions 파일 작성.

깃헙에서 배포를 할 Repo에 들어가서 Actions 탭으로 이동한다.

 

좌측 상단에 New Workflow를 클릭.

 

Docker image를 클릭하여 Configure 클릭

300x250
name: Docker Image CI

on:
  push:
    branches: [ master ] # push이벤트에 actions가 동작할 브랜치 입력
  pull_request:
    branches: [ master ] # Pull Request에 actions가 동작할 브랜치 입력

jobs:

  build:

    runs-on: ubuntu-latest

    steps:
    - name: Configure AWS credentials
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-access-key-id: {AWS ACCESS KEY 입력}
        aws-secret-access-key: {AWS secret KEY 입력}
        aws-region: {AWS region 입력}
    
    - uses: actions/checkout@v2
    - name: Build the Docker image
      run: |
        aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin {람다 함수 ARN}
        docker build -t {이미지 이름} .
        docker tag {이미지 이름}:{태그} {함수 ARN}:{이미지 태그}
        docker push {함수 ARN}:{이미지 태그}
        aws lambda update-function-code --function-name {람다 함수 이름} --image-uri {함수 ARN}:{이미지 태그}

넣어야 할 값이 굉장히 많아 보이지만 

 

ECR에서 푸시 명령 보기를 클릭하면 나오는 명령어를 순서대로 입력하면 된다.

그다음

aws lambda update-function-code --function-name {람다 함수 이름} --image-uri {함수 ARN}:{이미지 태그}

를 이용하여 람다 함수의 이미지를 해당 태그의 이미지로 업데이트한다.

 

 

참고 :

 

update-function-code — AWS CLI 1.22.49 Command Reference

Note: You are viewing the documentation for an older major version of the AWS CLI (version 1). AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. F

docs.aws.amazon.com

 

728x90
728x90

댓글