
목표
git 저장소에 코드 푸시하게 되면 circleCI를 통해 ECS로 빌드, 테스트 및 배포 자동화를 하고자 한다.
config.yml은 CircleCI에서 빌드 및 배포를 수행하기 위한 설정 파일로 프로젝트 루트 디렉토리에 .circleci/config.yml 파일을 작성해준다.
작성이 완료되면 git push해준다.
version: 2.1
jobs:
build_push_image:
working_directory: /rock_paper_scissors
docker:
- image: circleci/python:3.9.2
steps:
- checkout
- setup_remote_docker:
docker_layer_caching: false
- run:
name: Build Docker Image
command: |
docker build -t test-rps -f Dockerfile .
- run:
name: ECR Login
command: |
aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <ECR-Repository-URI>
- run:
name: Docker Image Tag
command: |
docker tag test-rps:latest <ECR-Repository-URI>:<tag>
- run:
name: ECR Push
command: |
docker push <ECR-Repository-URI>:<tag>
version: 2.1
jobs:
build_push_image:
working_directory: /rock_paper_scissors
docker:
- image: circleci/python:3.9.2
steps:
- checkout
- setup_remote_docker:
docker_layer_caching: false
- run:
name: Build Docker Image
command: |
docker build -t test-rps -f Dockerfile .
- run:
name: ECR Login
command: |
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 210000284893.dkr.ecr.ap-northeast-2.amazonaws.com
- run:
name: Docker Image Tag
command: |
docker tag rps:latest 210000284893.dkr.ecr.ap-northeast-2.amazonaws.com/test-rps:latest
- run:
name: ECR Push
command: |
docker push 210000284893.dkr.ecr.ap-northeast-2.amazonaws.com/test-rps:latest
CircleCI 대시보드에서 "Add Project" 버튼을 클릭하고, 빌드하고자 하는 GitHub 저장소를 프로젝트로 추가한다.

윗 단계에서 config.yml파일을 푸시해줬기 때문에 Fastest에서 자동으로 브랜치가 선택된다.

set up project 버튼을 클릭하고 나니 아래와 같은 화면이 떴다.
