예전에 구현했던 My Select Shop 프로젝트에 CI/CD를 구현해보았다.
이번 포스팅에서는 CI/CD를 구현하며 삽질을 하는 과정에서 있었던 에러 로그들을 살펴 보고, 해결 방법들을 나열해보고자 한다. 구현 흐름은 아래와 같았다.
위의 과정들을 수행하고 가장 먼저 마주한 에러이다.
ECS 서비스의 배포에 실패하였을 때 태스크 정보를 클릭하니 위와 같은 에러가 발생했다. 대상 ECR 레포지토리에서 이미지를 찾을 수 없어 발생하였다.

실제로 ECR 레포지토리에는 아무 이미지도 없었고, 왜 도커 이미지가 적재되지 않은 것인지 찾는 데 시간이 좀 걸렸다.
Github Actions에서 워크플로우가 텅 빈 것을 발견했고, 이 때문에 CI/CD 작업 자체가 실행이 되지 않았다. 때문에 ECR에 도커 이미지가 빌드되지 않는 것은 어찌보면 당연한 수순이었다.
깃허브 CI 파일을 작성할 때 .github/workflows 경로에 aws.yml 파일을 만들어두었다. 아무 생각 없이 branches를 main으로 설정해 주었으나 My Select Shop 프로젝트의 github 레포지토리는 'Master'를 메인 브랜치로 놓고 작업을 하였다.
name: Deploy to Amazon ECS
on:
push:
branches: [ "master" ]
위와 같이 대상 브랜치를 'master'로 놓으니 작업이 Github Actions에 워크플로우가 등록이 되었다.

워크플로우가 작동하며 생긴 두 번째 오류이다. 분명 dockerfile을 제대로 만들었다고 생각했는데 dockerfile을 찾을 수 없다는 오류가 나왔다.
먼저 구글링을 통해 무엇이 원인인지 파악했고, 그 결과 도커 파일의 이름을 잘못 설정해서 그런 것 같다는 생각이 들었다.
아래의 이미지를 보면 Dockerfile이 아닌 DockerFile로 이름이 설정되어 있다. 대소문자를 구별하여 알맞은 이름을 입력해주니 오류가 해결되었다.

