docker 2

배포 시간 14분에서 53초로: 빌드 구조 개선과 ARM64 정합성 해결

CI/CD를 운영하면서 dev 배포를 돌리던 중 컨테이너가 Restarting 상태로 머물렀고, /dev/health, /dev/swagger-ui/index.html도 정상 확인이 되지 않았다.애플리케이션 설정 문제를 먼저 의심했지만, 로그에서 exec format error가 반복적으로 확인됐다.exec format error는 바이너리(또는 이미지 내부 실행 파일) 아키텍처가 런타임과 맞지 않을 때 발생하는 대표적인 에러다.실제 EC2는 ARM64(aarch64)인데, GitHub Actions에서 빌드한 이미지는 기본값으로 amd64가 생성되고 있었다.즉, 배포 성공과 실행 가능이 분리된 상태였고, 먼저 아키텍처 정합성을 맞추는 게 우선이었다. 1. 실행 실패부터 해결: ARM64 아키텍처 정합성..

Backend 2026.05.31

서버 접속 배포에서 GitHub Actions 자동 배포까지, CI/CD 구성하기

Docker 기반 실행 구조와 CI/CD 워크플로우 구성 AWS 인프라, 콘솔 대신 Terraform으로 관리해보자그동안 프로젝트를 진행하면서 필요한 리소스들은 AWS 콘솔에서 직접 만들어서 사용했다. EC2, S3, RDS, Redis와 같은 리소스를 하나씩 늘려가면서 작업했다.콘솔에서 필요한 순간에 바로 만들 수 있zerozeroseven.tistory.com이전 글과 같이 Terraform으로 인프라 구성을 정리한 뒤에는 애플리케이션 배포 흐름을 잡는 작업을 진행했다. 이번에는 Dockerfile 추가부터 GitHub Actions 기반 CI/CD 워크플로우 구성까지 정리해보려고 한다. Dockerfile 추가애플리케이션을 서버에서 일관된 방식으로 실행하려면 먼저 컨테이너 실행 구조가 필요했다. ..

Backend 2026.05.02