Salta ai contenuti

Macchine di sviluppo

Ambienti di sviluppo isolati per costruire e testare le tue app. Ambienti Linux completi alimentati da Proyecta Cloud.

Proyecta assegna una macchina di sviluppo dedicata (runtime) a ogni progetto. Si tratta di un container isolato con un ambiente Linux completo in cui la tua app viene eseguita durante lo sviluppo.

Quando apri un progetto, Proyecta:

  1. Crea un container isolato (pod) nel cloud
  2. Clona il tuo codice da GitHub
  3. Installa le dipendenze e configura l’ambiente
  4. Avvia il server di sviluppo della tua app
  5. Mostra un’anteprima live nel builder

Puoi vedere l’avanzamento del provisioning nella Runtime Status Bar sotto la barra degli strumenti.

La barra di stato mostra queste fasi durante l’avvio:

FaseDescrizione
Creating podAvvio del container isolato
Health checkVerifica che il container sia in esecuzione
Git initClonazione del repository
Environment setupInstallazione delle dipendenze (npm, pip, ecc.)
Starting servicesAvvio dell’app e dell’infrastruttura
ReadyLa macchina di sviluppo è completamente operativa

La mia macchina di sviluppo ha dei problemi. Come li risolvo?

Sezione intitolata “La mia macchina di sviluppo ha dei problemi. Come li risolvo?”

Se l’anteprima non si carica o la macchina sembra bloccata:

  1. Controlla la Runtime Status Bar per eventuali messaggi di errore
  2. Prova a usare il Terminal per esaminare i log
  3. Se nulla funziona, chiedi all’AI di aiutarti a fare il debug del problema

La tua macchina di sviluppo può includere container sidecar per database e servizi:

  • PostgreSQL — Database relazionale (porta 5432)
  • PostGIS — PostgreSQL con estensioni geospaziali (porta 5432)
  • Redis — Cache in memoria (porta 6379)
  • MongoDB — Database documentale (porta 27017)
  • MySQL — Database relazionale (porta 3306)
  • MailHog — Server di test email con interfaccia web (porta SMTP 1025, porta UI 8025)

Visualizza i servizi in esecuzione e il loro stato nel pannello Services.

Le macchine di sviluppo attraversano questi stati del ciclo di vita:

StatoDescrizione
PendingIn attesa di essere creata
InitializingConfigurazione dell’ambiente in corso
RunningAttiva e funzionante
SuspendedIn pausa per risparmiare risorse (riprende rapidamente)
ArchivedArchiviata in cold storage (richiede più tempo per il ripristino)
RestoringIn fase di ripristino dallo storage archiviato
FailedProvisioning o operazione fallita — la macchina può essere rieseguita
TerminatedArrestata in modo permanente

Le macchine si sospendono automaticamente dopo 60 minuti di inattività e vengono archiviate dopo 24 ore di sospensione.

Se la macchina di sviluppo si interrompe, cosa succede alla mia app pubblicata?

Il backend della tua app (funzioni serverless Convex e database) è eseguito sulla propria infrastruttura cloud di Convex e rimane disponibile indipendentemente dallo stato della tua macchina di sviluppo. Tuttavia, i file frontend della tua app vengono serviti dalla macchina di sviluppo — se questa è sospesa o archiviata, i visitatori vedranno un errore 503 finché la macchina non riprende. Tienilo a mente per le app che vuoi mantenere accessibili pubblicamente; riprendere la macchina ripristina il sito.

Posso ottenere una macchina di sviluppo più veloce?

Attualmente tutte le macchine di sviluppo operano con la stessa allocazione di risorse. Se hai bisogno di maggiore capacità per un progetto di grandi dimensioni, contatta il supporto.

Posso accedere direttamente alla macchina di sviluppo?

Sì. Usa il Terminal integrato per avere accesso shell completo al tuo ambiente di sviluppo.