✨ 왜 이 글을 쓰게 되었는가?

입사한 새로운 회사에서는 React 프로젝트를 Nginx와 Jenkins를 이용해서 배포하고 있었다. 처음엔 “그걸 왜 써?”라는 생각이 들었다.

나는 그동안 Netlify나 Vercel 같은 서버리스 플랫폼을 개인적으로 사용해왔고, 이전 회사들에서도 모두 자동화된 배포 환경이 구축되어 있었다. 첫 번째 회사는 DevOps 팀이 CI/CD를 구성해줬고, 두 번째 회사는 AWS Amplify를 사용해 Git push만으로 배포가 이뤄졌다.

그래서 지금처럼 Jenkins와 Nginx를 직접 다뤄야 하는 환경은 처음이라 낯설었고, 이번 기회에 배포 구조를 제대로 이해하고 정리할 필요를 느꼈다.

그래서:

를 직접 정리해보며 배포 인프라에 대한 이해를 넓히기 위해 이 글을 작성하게 되었다.


🏢 이전 회사들과 지금 회사의 차이

항목 첫 회사 (블록체인) 두 번째 회사 (AWS Amplify) 지금 회사
배포 방식 DevOps 팀 자동화 Amplify가 자동 배포 Jenkins 수동 설정
정적 파일 서빙 Kubernetes 클러스터 S3 + CloudFront Nginx
자동화 도구 GitLab CI, Jenkins Amplify 내장 빌드 기능 Jenkins
배포 관여도 거의 없음 Git push로 끝 직접 Jenkins에 설정
라우팅 처리 DevOps가 설정함 자동 처리됨 Nginx 수동 설정 필요

🤔 처음엔 이해 안 됐던 점


😅 이전에는 몰라도 됐던 이유

Netlify나 Vercel 같은 서버리스 플랫폼은: