picture
  1. Node.js

준비 및 확인사항

지원 Node 버전

  • 8, 10, 12, 14, 16, 18, 20
  • ⚠️ 로컬/테스트 환경과 클라우드타입에서 설정한 Node 버전이 상이한 경우 정상적으로 빌드되지 않을 수 있습니다.

공통

1. 로컬에서는 이상없이 설치되던 패키지가 클라우드타입에서 빌드할 때 정상적으로 설치되지 않습니다.

  • 클라우드타입은 배포할 GitHub 저장소의 yarn.lock, package-lock.json, package.json 의 순서대로 파일을 탐색하여 패키지를 설치합니다. 만약 이 3개의 파일이 모두 누락되어 있다면 설치할 패키지를 특정할 수 없기 때문에 정상적으로 배포가 진행되지 않습니다. GitHub 저장소의 필요 파일 누락 여부를 확인해주세요.

  • yarn.lock, package-lock.json, package.json 파일이 GitHub 저장소에 정상적으로 반영되어 있다면 node 버전과 Install Command를 확인해주세요. node의 경우 v14와 v16 간 호환이 불가능한 패키지가 적지 않기 때문에 로컬에서 개발을 진행할 때 사용하던 node 버전을 확인하여 적용 부탁드립니다. Install Command 의 경우 기본적으로 npm ci 명령어가 적용되며, 프로젝트의 환경에 맞게 변경이 가능합니다.

2. Node로 서버를 구동했는데 permission denied 0.0.0.0:80 에러가 발생하면서 서비스에 접근이 되지 않습니다.

  • 클라우드타입에서 서비스가 배포되는 환경인 리눅스 운영체제에서는 root 권한이 없는 상태에서 1024번 이하의 포트를 사용할 수 없습니다. 클라우드타입의 어플리케이션은 보안 및 취약점 노출 방지를 위해 root가 아닌 사용자로 서비스를 구동하고 있기 때문에 다른 포트를 설정하여 서비스 재배포 부탁드립니다.

3. 서비스 접속 시 50X 페이지만 뜹니다.

서비스 배포 후 50X 발생 시, 실행 로그 결과에 따라 다음과 같은 케이스로 나눠 살펴볼 수 있습니다.

1️⃣ 어플리케이션이 정상적으로 구동되지 않고 예외가 발생하거나 서버가 종료된 경우

  • 어플리케이션 구동에 필요한 패키지가 정상적으로 설치되지 않았거나 데이터베이스 연결이 실패했을 수 있습니다. 실행 로그의 에러 메세지를 기반으로 소스 내용 및 환경 변수 등을 확인해주세요.

2️⃣ 서버는 정상적으로 구동됐는데 권한과 관련된 에러가 발생하는 경우

  • 언어 및 프레임워크 중 특정 도메인 규칙에 대하여 CORS 허용 규칙을 적용해주어야 접속이 가능한 것이 있습니다. 아래의 링크를 참고하여 관련된 설정을 소스에 반영후 재배포 부탁드립니다.
  • CORS 설정

3️⃣ 빌드가 정상적으로 완료 되었는데 상태가 ‘시작중’에서 바뀌지 않고 생성된 URL에 접속해도 503 페이지만 뜨는 경우

  • 루트 디렉토리가 아닌 서브디렉토리에 코드가 존재하는 경우 이러한 상황이 발생할 수 있습니다. 사용자의 저장소를 디렉토리를 확인하고, 해당되는 경우 아래의 영상을 참고하여 배포시 서브디렉토리 설정을 추가해주세요.

4️⃣ 서버는 정상적으로 구동됐는데 접속시 에러창이 뜨고 실행 로그에 아무런 반응이 없는 경우

  • 소스 코드에 설정된 포트가 배포시에 작성하신 포트와 불일치할 경우일 확률이 높습니다. 입력한 포트를 확인해주세요.

참고

공식문서

사용에 문제나 어려움이 있다면 디스코드 채널에서 문의하세요.
디스코드 링크