블로그 글을 참고해서 CI/CD를 구현해봤다.
AWS의 CodeDeploy, CodePipeline 서비스를 활용했는데, 찾아보니 github actions가 사용하기 더 쉽게 되어있는 것 같다. Github actions도 사용해봐야겠다.
CI/CD는 continuous integration, continuous delivery(deployment)를 의미하며, 간단히 말해서 배포 과정을 자동화하는 것이라고 할 수 있을 것 같다.
과정은 다음과 같았다.
- EC2 IAM 생성
- CodeDeploy IAM 생성
- CodeDeploy 애플리케이션 생성
- CodeDeploy 사용자 추가
- EC2에 CodeDeploy Agent 설치
- 프로젝트에 appspec.yml 파일 추가
- CodeDeploy 배포 그룹 생성
- CodePipeline에서 파이프라인 생성
- 프로젝트에 ecosystem.json 파일 추가
- PM2로 서버 재시작 자동화
이후 과제:
CI/CD와 테스트 코드를 결합하려면 어떻게 해야할까?
참고 자료: https://iot624.tistory.com/180#%F0%9F%93%8C_%EB%B0%B0%ED%8F%AC%ED%95%A0_%EC%84%9C%EB%B2%84_%EC%84%A4%EC%A0%95