Koyeb에 NodeJS(Express) 서버 배포하기
velog.io
안녕하세요. 요즘 저와 같이 토이 프로젝트나 초기 서버를 개발하고 배포하시는 학부생 분들이 계시길래 무료 호스팅을 지원하는 Koyeb으로 Express 서버를 배포하는 내용을 다루어 봤습니다.
서버의 용량이 크지않거나 트래픽이 많지 않은 경우, 무료 호스팅을 사용해 리소스 비용을 줄일 수 있습니다. 저는 최근에 창업팀에서 개발자로 백오피스 개발을 진행했는데요. 이때, react는 netlify로, express는 koyeb으로 배포하여 리소스 비용을 절감할 수 있었습니다.
Koyeb의 서버 배포 방식에는 크게 두 가지가 존재합니다.
Github Repository를 통한 배포
Docker를 통한 배포
저는 두 가지 방법을 다 사용해 보았는데, 개인적으로는 Docker를 통한 배포가 상대적으로 빠르다고 느껴졌고, 의존성 관련 문제에서 훨씬 자유로웠습니다. GitHub 레포지토리를 통한 배포는 자동화 측면에서 편리함을 느꼈는데, develop brunch에 merge나 push를 할 경우 바로바로 배포가 진행된다는 점이 좋았습니다. 각각의 장/단점이 있으니 본인의 환경에 맞는 배포 방식을 선택하면 좋을 것 같습니다.
두 배포 방식 전부 배포 과정에서 에러를 처리하는 과정이 존재했는데, 우선 Github 배포는 npm script 설정, 의존성 패키지 문제 등이 가장 많은 시간을 잡아먹었습니다. 기본적으로 배포할 서버의 path와 local 환경에서 사용했던 path가 달라서 환경을 설정하는데 진땀을 빼기도 했구요 ㅠㅠ
Docker 배포는 Docker Image를 만들고 repository에 push 하는 과정에서 이미지의 user name과 docker hub에 가입된 ID가 일치하지 않아 push가 거부되는 에러를 잡느라 시간을 많이 소비했습니다. 포트 설정, 배포할 서버의 cpu 아키텍처에 맞는 image를 생성해주는 것 등 자잘한 에러가 발생했습니다.
모쪼록 성공적으로 배포를 진행했고, 생각보다 많은 에러를 만나게되어 조금 더 성장한 기분이 듭니다. 저와 같이 작은 프로젝트를 진행 중이시라면 Koyeb을 사용해서 무료로 서버를 호스팅하는 것도 좋은 방법인 것 같습니다! 감사합니다.
https://velog.io/@eeeasy-code/Koyeb%EC%97%90-NodeJSExpress-%EC%84%9C%EB%B2%84-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0
다음 내용이 궁금하다면?
이미 회원이신가요?
2023년 12월 19일 오후 4:03
‘훌륭한 데이터 분석가란 어떤 사람인가?’에 대해
... 더 보기최근에 친구가 추천해준 데일 카네기의 인간관계론을 읽던 중 고액 연봉을 받는 엔지니어들의 특징에 대한 흥미로운 내용이 있었다.
... 더 보기어제 AI 시대의 개발자 토론회에서 내가 대 AI 시대에는 버전관리 시스템이 필요없을 수도 있다고 생각해야한다는 말을 했는데, 그정도로 파격적인 생각을 해야한다는 이야기긴했지만, 진짜 그럴까?를 다시 한 번 생각해봤다.
우선 버전관리 시스템의 목적은 크게 다음 세 가지다.
d