[Infra] AWS ECS + ECR + Docker + Github-Actions로 배포 및 CICD 구축하기

Hoon·2023년 9월 20일
0

Infra

목록 보기
10/10
post-thumbnail

Github-Actions 를 이용해 AWS의 ECR 에 빌드한 Docker Image 를 올리고 ECS 를 이용하여 배포 및 CICD를 구축 해보려고한다.

먼저, AWS ECR (Elastic Container Registry) 를 생성해준다.

Github-Actions 에서 접근할 사용자의 권한도 아래와 같이 추가해준다.

아래는 ECRDocker image 를 빌드하여 업로드 하는 Github-Actions yml 파일이다.

name: Deploy to ECR

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Git Checkout
        uses: actions/checkout@v3

      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v2
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: ${{ secrets.AWS_REGION }}

      - name: Login to Amazon ECR
        id: login-ecr
        uses: aws-actions/amazon-ecr-login@v1

      - name: Build, tag, and push image to Amazon ECR
        id: build-image
        env:
          ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
          ECR_REPOSITORY: [ECR 리포지트리 이름]
          IMAGE_TAG: ${{ github.sha }}
        run: |
          docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
          docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
          echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"

[작성중...]

profile
4년차 개발자 Hoon입니다

0개의 댓글