NginX + Docker + Github actions 무중단 배포
2024년 8월 6일 작성한 글입니다. 서비스를 개발하며 벼르고 있던 작업 중 하나였습니다. 구현 작업이 느슨해질 때 쯤 작업했었네요. 이 작업은 개발/배포 환경에 영향을 많이 받다보니 외부 코드를 차용하지 못하고 직접 코드를 많이 타이핑했었던 기억이 남아있습니다..1. 문제 인식 | “어? 서버 오류났어요”사실 ‘무중단 배포’ 구축 작업 자체는 워낙 유명한 CD 작업이기 때문에, 문제가 발생하기 전에도 ‘이건 나중에 꼭 작업해야지’ 라고 인식하고 있던 작업이였습니다.직접적으로 해당 작업 필요성에 대해 필요성을 느끼게 된 건 배포 작업이 잦아지면서부터였습니다. 기능 개발과 버그 픽스가 빠르게 이루어지며 배포 주기가 짧아지고, 특히 테스트를 위해 개발 서버에 변경 사항을 반영할 때 문제가 두드러졌습니다.2..
2024.11.13
Docker Image 경량화
2024년 7월 24일 작성한 글입니다.2024년 2월 경 도커 파일 크기가 생각보다 많이 큰 것에 대해 의구심을 가지게 되었고 이를 해결한 일지입니다.1. 도커 파일은 원래 이렇게 큰가2024년 2월 초, Github actions 배포 자동화 라인을 통해 개발 서버에 배포를 하던 중 오류가 발생했습니다. 원인은 서버에 EBS 볼륨 용량이 부족하다는 것이였습니다. EC2 생성 시 자동 할당되는 EBS 볼륨의 크기는 8GB이며, 도커 파일을 저장하는 것 외에 디스크 사용을 하지 않는 서버다보니 용량 부족은 제겐 좀 의문이 드는 상황이였습니다. 서버에 들어가서 용량을 확인해보니 정말 디스크 용량 사용률이 100% 였습니다. 아니 이게 무슨 황당한 경우인가. 리눅스에 깔려있는 것이라곤 도커와 도커 이미지 파..
2024.11.13
fly.io 서버 배포 및 API 테스트 방법
2023년 3월 15일에 작성한 글 입니다.1. 배경2023년 2월동안 팀 프로젝트로 스터디에 도움을 주는 웹 앱을 만들게 되었습니다. 마지막 배포를 위해 여러 플랫폼을 찾던 중 무료 플랫폼인 fly.io를 통해 배포를 하기로 하였고 성공적으로 서버 배포를 하였습니다.첫 배포이다보니 크고 작은 시행착오들이 있었어서 시행착오들 해결을 포함한 배포 방법과 배포 이후 API 테스트까지의 내용을 정리하겠습니다.준비물은 개발 완료된 소스코드(빌드된)만 있으면 됩니다.2. fly.io 배포우선, powershell 로 진행했습니다.2-1. flyctl 다운로드powershell 에서 아래 명령어를 입력하여 flyio ctl을 다운로드합니다.ctl은 커맨드라인 유틸리티입니다.iwr https://fly.io/inst..
2024.11.13