Devops/CD

    [Docker] Spring Boot와 MySQL을 docker-compose로 실행하자

    이전 게시글에선 서버에서 직접 어플리케이션 소스 코드를 다운받아 빌드하는 배포 방식을 사용했다면, 이번엔 도커를 사용하여 어플리케이션을 이미지로 만들어 배포하는 방식을 사용할 것이다. 따라서 본 게시글엔 이미지 배포의 첫번째 단계인 도커를 통한 이미지 빌드 방식을 서술하려고 한다. Docker 일관성 있는 운영환경의 중요성이 강조됨에 따라 컨테이너를 통한 배포 방식이 주를 이루며 사용되고 있다. 또한 어플리케이션의 코드 상의 문제를 테스트 코드에서 검증했다면, 운영상의 서버 설정 문제를 컨테이너에서 검증할 수도 있다. Dockerfile? docker-compose? docker를 처음 사용하려고 보면 어떤 곳에선 Dockerfile을, 어떤 곳에선 docker-compose를 사용하고 있다. 어떤 차이..

    [Github Action] CodeDeploy와 S3를 이용하여 배포하기

    배포 전 CI 구성은 여기에 정리해두었다. 전체 과정은 wbluke님 블로그를 많이 참고했다. 전체 코드는 깃허브에 정리해두었다. 전체 배포 과정 어플리케이션에 배포에 필요한 절차를 AppSpec.yml에 작성한다. CodeDeploy에 프로젝트의 특정 버전을 배포해달라고 요청하면, CodeDeploy는 배포를 진행할 EC2 인스턴스에 설치되어 있는 CodeDeploy Agent들에게 요청받은 버전을 배포해달라고 요청 요청받은 Agent들은 코드 저장소에서 프로젝트 전체를 다운로드 받고, AppSpec.yml 파일을 읽어 해당 파일의 절차대로 배포를 진행한다. Agent는 배포를 진행한 후 CodeDeploy에게 성공/실패 등의 결과를 알려준다. AWS 리소스 생성 EC2 jar 파일을 실행시킬 OS에 ..