콘텐츠로 이동

Dev Machines

빌드 및 테스트를 위한 격리된 개발 환경. Proyecta Cloud가 제공하는 완전한 Linux 환경.

Proyecta는 각 프로젝트마다 전용 개발 머신(런타임)을 프로비저닝합니다. 이는 개발 중에 앱이 실행되는 완전한 Linux 환경을 갖춘 격리된 컨테이너입니다.

프로젝트를 열면 Proyecta가 다음을 수행합니다:

  1. 클라우드에 격리된 컨테이너(pod)를 생성합니다
  2. GitHub에서 코드를 클론합니다
  3. 의존성을 설치하고 환경을 설정합니다
  4. 앱의 개발 서버를 시작합니다
  5. Builder에 라이브 미리보기를 표시합니다

툴바 아래의 Runtime Status Bar에서 프로비저닝 진행 상황을 확인할 수 있습니다.

시작 중에 상태 표시줄은 다음 단계를 보여줍니다:

단계설명
Creating pod격리된 컨테이너를 생성하는 중
Health check컨테이너가 실행 중인지 확인하는 중
Git init리포지토리를 클론하는 중
Environment setup의존성 설치 중 (npm, pip 등)
Starting services앱 및 인프라를 시작하는 중
ReadyDev machine이 완전히 온라인 상태

Dev machine에 문제가 생겼습니다. 어떻게 해결하나요?

섹션 제목: “Dev machine에 문제가 생겼습니다. 어떻게 해결하나요?”

미리보기가 로딩되지 않거나 머신이 멈춘 것처럼 보이는 경우:

  1. Runtime Status Bar에서 오류 메시지를 확인하세요
  2. Terminal을 사용해 로그를 살펴보세요
  3. 그래도 해결되지 않으면 AI에게 문제 디버깅을 요청하세요

Dev machine에는 데이터베이스 및 서비스를 위한 사이드카 컨테이너가 포함될 수 있습니다:

  • PostgreSQL — 관계형 데이터베이스 (포트 5432)
  • PostGIS — 지리공간 확장이 포함된 PostgreSQL (포트 5432)
  • Redis — 인메모리 캐시 (포트 6379)
  • MongoDB — 도큐먼트 데이터베이스 (포트 27017)
  • MySQL — 관계형 데이터베이스 (포트 3306)
  • MailHog — 웹 UI가 포함된 이메일 테스트 서버 (SMTP 포트 1025, UI 포트 8025)

Services 패널에서 실행 중인 서비스와 상태를 확인할 수 있습니다.

Dev machine은 다음 라이프사이클 상태를 거칩니다:

상태설명
Pending생성 대기 중
Initializing환경 설정 중
Running활성 상태이며 정상 작동 중
Suspended리소스 절약을 위해 일시 중지됨 (빠르게 재개 가능)
Archived콜드 스토리지에 저장됨 (복원에 시간이 더 소요됨)
Restoring아카이브 스토리지에서 복원 중
Failed프로비저닝 또는 작업 실패 — 머신을 다시 프로비저닝할 수 있음
Terminated영구적으로 중지됨

머신은 60분간 비활성 상태가 되면 자동으로 suspend되고, 24시간 동안 suspend 상태가 지속되면 archive됩니다.

Dev machine이 중단되면 게시된 앱은 어떻게 되나요?

앱의 backend(Convex serverless 함수 및 데이터베이스)는 Convex 자체 클라우드 인프라에서 실행되므로 dev machine 상태와 관계없이 계속 사용 가능합니다. 단, 앱의 frontend 파일은 dev machine에서 제공되므로 머신이 suspend되거나 archive되면 머신이 재개될 때까지 방문자에게 503 오류가 표시됩니다. 공개적으로 접근 가능한 상태를 유지하려는 앱의 경우 이 점을 유의하세요. 머신을 재개하면 사이트가 복원됩니다.

더 빠른 dev machine을 사용할 수 있나요?

현재 모든 dev machine은 동일한 리소스 할당으로 실행됩니다. 대규모 프로젝트에 더 많은 용량이 필요한 경우 지원팀에 문의하세요.

Dev machine에 직접 접근할 수 있나요?

네. 내장된 Terminal을 사용하면 개발 환경에 대한 전체 셸 접근이 가능합니다.