사이드바의 애플리케이션 메뉴에서 서비스를 직접 배포하거나 관리할 수 있습니다.

애플리케이션 메뉴의 또는 ⌘ + K로 생성되는 배포 창을 통해 배포 과정이 시작됩니다.
애플리케이션 배포하기
배포방식 선택
내 GitHub 저장소 배포하기
내 GitHub 저장소 배포하기
Git URL로 배포하기
Git URL로 배포하기
배포키 등록

GitHub뿐만 아니라 GitLab, Bitbucket 등에 반영된 비공개 저장소의 코드도 배포할 수 있도록 SSH 방식의 인증을 지원합니다. 플랫폼별 배포 키 등록은 아래를 참고해 주세요
GitHub
GitHub

Add deploy key를 클릭한 후 배포 창에서 조회한 배포 키 값을 입력해 키를 추가합니다.GitLab
GitLab

Expand, Add new key를 클릭한 후 배포 창에서 조회한 배포 키 값을 입력해 키를 추가합니다.Bitbucket
Bitbucket

Add key를 클릭한 후 배포 창에서 조회한 배포 키 값을 입력해 키를 추가합니다.언어/프레임웍 선택

템플릿을 선택해서 배포하기
템플릿을 선택해서 배포하기

배포 설정과 배포
배포할 저장소와 프리셋 또는 템플릿을 선택한 후, 배포에 관한 아래의 항목을 설정하고 배포하세요.브랜치와 서브 디렉토리
브랜치와 서브 디렉토리

서브 디렉토리를 설정을 하지 않은 경우, 루트 디렉토리에서 배포가 실행됩니다.
버전
버전

환경 변수
환경 변수

- ENV 파일 Drag & Drop
- (+) 아이콘으로 새로운 변수를 직접 입력
- 열쇠 아이콘을 사용해 저장된 시크릿 중에서 선택
환경 변수는 직접 입력하거나 저장된 시크릿을 선택해 적용할 수 있습니다.
포트 번호
포트 번호
포트 번호는 소스 코드 혹은 환경 변수의 설정과 일치해야 하며 정확하지 않은 포트 번호를 입력하거나 공란으로 한 경우, 서비스가 정상적으로 작동하지 않을 수 있습니다.
Install, Build, Start Command
Install, Build, Start Command
서비스의 라이프사이클 명령어를 설정하세요. 각 필드에는 기본 명령어가 표시되어 있으며, 프로젝트 설정에 맞게 변경할 수 있습니다
- Install Command: 의존성 패키지 설치 명령어 (예:
npm install,pip install -r requirements.txt) - Build Command: 애플리케이션 빌드 명령어 (예:
npm run build,gradle build) - Start Command: 서비스 실행 명령어 (예:
npm start,python app.py)
필드값을 입력하지 않으면 placeholder에 표시된 기본값이 적용됩니다.
더 많은 옵션
더 많은 옵션

표시되는 필드는 템플릿 / 프리셋 별로 다릅니다.
성능(리소스) 설정과 배포
성능(리소스) 설정과 배포

- CPU : 서비스가 사용할 vCPU 리소스의 최댓값을 설정하며, ‘최소 vCPU’ 선택 시 0.1 vCPU 사용
- 메모리 : 서비스가 사용할 메모리 리소스의 최댓값을 설정
- 디스크 : 데이터베이스를 배포할 경우 표시되는 필드로, 데이터베이스가 차지할 디스크의 용량 설정
- 동시 실행(레플리카) : 설정한 수만큼 서비스가 수평 확장되어 부하 분산 및 안정성 확보
-
배포 :
배포하기클릭
애플리케이션 관리하기
로그 조회와 터미널 접속

서비스 카드 또는 상세 페이지의 아이콘을 클릭하면, 배포/실행 로그 조회 또는 터미널에 접속할 수 있습니다.
재배포(업데이트)

코드 수정, 리소스 변경 등 업데이트할 내역이 있는 경우, 서비스 설정 화면 하단부의 배포하기 버튼을 누르면 업데이트를 반영한 새로운 배포가 진행됩니다.
서비스 중지 / 재시작

서비스 카드의 스톱 / 플레이 버튼으로 서비스를 중지하거나 재시작할 수 있습니다.
롤백(복원)

서비스 상세 페이지의 배포 내역 탭에서 이전 버전의 서비스 상태로 복원할 수 있습니다.
트러블슈팅
서브 디렉토리 미적용 (Error: Project files not found)
서브 디렉토리 미적용 (Error: Project files not found)

버전 불일치
버전 불일치

포트 번호 문제
포트 번호 문제
특정 포트에서 서비스되는 프로젝트의 경우, 배포 설정에서 포트 번호가 누락되거나 잘못 입력되면 정상적으로 실행되지 않을 수 있습니다.
특정 포트에 바인딩되지 않는 프로젝트의 경우, 배포 설정에서 포트 번호 항목을 공란으로 두어야 합니다.
selenium, puppeteer 등의 Chrome 라이브러리 사용
selenium, puppeteer 등의 Chrome 라이브러리 사용
제공되는 템플릿은 기본 모듈 및 라이브러리가 상이합니다. Windows, Chrome 라이브러리처럼 기본으로 제공되지 않는 라이브러리를 사용하려는 경우, Dockerfile을 작성하고 Dockerfile 템플릿으로 배포해야 합니다.
CORS 문제
CORS 문제

- 좌측 필드 : 코드에 작성된 호출 경로
- 우측 필드 : 실제로 호출해야 할 경로
드롭다운 메뉴에서 같은 프로젝트에 있는 서비스를 선택하고 경로를 추가하거나, URL을 직접 입력할 수 있습니다.
오류에 대한 실행 로그가 보이지 않는 경우
오류에 대한 실행 로그가 보이지 않는 경우
서비스 패널의 플레이 버튼으로 재시작 후 실행 로그를 확인해보세요. 어떤 로그도 표시되지 않는다면 서비스 상세 페이지의 이벤트 탭에서 발생한 이벤트를 확인하여 문제를 해결해야 합니다.
리소스 부족(out of memory)
리소스 부족(out of memory)

타임존
타임존

TZ라는 환경 변수를 통해 타임존을 설정할 수 있으며, 여기 제시된 일람에 따라 국가 및 도시를 설정할 수 있습니다.
이외의 방법은 사용하고 있는 프레임워크의 공식 문서를 참고하시기 바랍니다.
