카테고리 없음
(24.08.01) CD 파이프 라인 재구성 계획, GitHub Actions를 통한 컨테이너 빌드 자동화 구현
CD 파이프 라인 재구성
- Nginx를 두고 React와 SpringBoot 컨테이너간 포트를 맞췄음에도, React요청시 net::ERR_CONNECTION_REFUSED 문제가 발생,
- 따로 nginx.conf 설정을 포함해서 Dockerfile을 통해 이미지를 제작
GitHub Actions를 통한 컨테이너 빌드 자동화
- GitHub Actions YAML을 통해서 자동화
- Dockerhub 이미지 Push
- S3를 사용할 수 있지만, Scale-out 서버인 상황에서 Dockerhub를 사용해서 아이디 비밀번호만 있어도 쉽게 이미지를 다운받을 수 있도록 할 수 있기 때문에 Dockerhub를 사용하는 것으로 결정
- 인스턴스에서 이미지 Pull
- Container 빌드를 진행
- 이때 Actions의 환경변수를 통해 직접 SSH를 사용해서 .env 파일을 만들어서 저장할 수 있도록 했음
- 이미지 파일 째로 Dockerhub로 Push 할 수 있지만, 이렇게 될 경우엔 민감한 키들의 탈취가 도커허브에 접근만 한다면 모든 이미지의 키들이 노출될 수 있기 때문에 제외
- 이때 Actions의 환경변수를 통해 직접 SSH를 사용해서 .env 파일을 만들어서 저장할 수 있도록 했음
- Dockerhub 이미지 Push
- RDS에서 MySQL을 지원하고 백업 등의 추가 기능을 자동으로 제공하기 때문에 인스턴스 안에 컨테이너 안에 DB를 구성하는 것은 DB를 많이 제어하길 원할 때 쓰는 방식이며 복잡할 수 있기 때문에 AWS 기능간 유용성과 통합성을 위해 RDS 사용으로 변경