콘텐츠로 이동

Dev Machines

빌드 및 테스트를 위한 격리된 개발 환경. Proyecta Cloud 기반의 완전한 Linux 환경.

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

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

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

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

시작 중에 상태 표시줄에 다음 단계가 표시됩니다:

단계 설명
Creating pod 격리된 컨테이너 시작
Health check 컨테이너 실행 여부 확인
Git init 저장소 클론
Environment setup 의존성 설치 (npm, pip 등)
Starting services 앱 및 인프라 실행
Ready Dev machine이 완전히 온라인 상태

Dev Machine에 문제가 생겼어요. 어떻게 해결하나요?

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

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

  1. Runtime Status Bar에서 오류 메시지를 확인합니다
  2. AI에게 서비스 로그를 확인하고 디버깅해 달라고 요청합니다 — AI는 머신에 대한 전체 접근 권한을 가지고 있습니다
  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분 동안 비활성 상태가 되면 자동으로 일시 중지되며, 24시간 동안 일시 중지 상태가 지속되면 아카이브됩니다.

Dev machine이 다운되면 게시된 앱은 어떻게 되나요?

앱의 데이터는 Proyecta 플랫폼의 데이터 레이어(CMS)에 저장되며, 이는 dev machine과 독립적으로 운영되므로 계속 사용할 수 있습니다. 하지만 앱의 frontend 파일은 dev machine에서 제공되므로, 머신이 일시 중지되거나 아카이브되면 머신이 재개될 때까지 방문자에게 503 오류가 표시됩니다. 공개적으로 항상 접근 가능하게 유지하려는 앱의 경우 이 점을 유의하세요. 머신을 재개하면 사이트가 복원됩니다.

더 빠른 Dev Machine을 사용할 수 있나요?

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

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

아니요. Builder에는 터미널이나 셸 접근 방법이 없습니다. AI가 사용자를 대신하여 머신에 대한 전체 접근 권한을 가지고 있습니다 — 명령 실행, 로그 확인, 파일 검사를 AI에게 요청하면 채팅에서 결과를 알려줍니다.