AWS CI/CD in ECS ( 수정 중 )

GisangLee·2023년 2월 10일
0

aws

목록 보기
10/15

1. 프로젝트 폴더에 cloudformation template 파일을 작성한다.

ECS에 배포할 예정이기 때문에, 리소스와 IAM 정책 등 모든 부분을 다 적어준다.
containerDefinitions 부분에 도커 이미지가 올라갈 ECR 주소를 적어준다.
https://docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/ECR_on_ECS.html


2. Code Pipeline을 만든다.

첫번째 action은 Code Build를 생성한다.
프로젝트 폴더에 있는 buildspec.yml 파일을 읽어서
도커 이미지화 시킨 후 ECR이나 Docker Hub에 푸시한다.

version: 0.2
phases:
  build:
    commands:
      - echo "Building Docker image..."
      - docker build -t myimage:latest .
      - docker tag myimage:latest 123456789012.dkr.ecr.us-west-2.amazonaws.com/myimage:latest
      - echo "Pushing Docker image to ECR..."
      - $(aws ecr get-login --no-include-email --region us-west-2)
      - docker push 123456789012.dkr.ecr.us-west-2.amazonaws.com/myimage:latest

두번째 액션으로 Code Deploy를 만든다.
프로젝트 폴더에 있는 appspec.yml 파일을 읽어서 배포를 시작한다.

version: 0.0
Resources:
  - TaskDefinition:
      Type: AWS::ECS::TaskDefinition
      Properties:
        TaskDefinitionArn: !Ref TaskDefinition
  - Stack:
      Type: AWS::CloudFormation::Stack
      Properties:
        TemplateURL: https://s3.amazonaws.com/mybucket/cloudformation.yml
        Parameters:
          TaskDefinition: !Ref TaskDefinition

profile
포폴 및 이력서 : https://gisanglee.github.io/web-porfolio/

0개의 댓글