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.
Come funzionano le macchine di sviluppo?
Sezione intitolata “Come funzionano le macchine di sviluppo?”Quando apri un progetto, Proyecta:
- Crea un container isolato (pod) nel cloud
- Clona il tuo codice da GitHub
- Installa le dipendenze e configura l’ambiente
- Avvia il server di sviluppo della tua app
- Mostra un’anteprima live nel builder
Puoi vedere l’avanzamento del provisioning nella Runtime Status Bar sotto la barra degli strumenti.
Fasi di provisioning
Sezione intitolata “Fasi di provisioning”La barra di stato mostra queste fasi durante l’avvio:
| Fase | Descrizione |
|---|---|
| Creating pod | Avvio del container isolato |
| Health check | Verifica che il container sia in esecuzione |
| Git init | Clonazione del repository |
| Environment setup | Installazione delle dipendenze (npm, pip, ecc.) |
| Starting services | Avvio dell’app e dell’infrastruttura |
| Ready | La 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:
- Controlla la Runtime Status Bar per eventuali messaggi di errore
- Prova a usare il Terminal per esaminare i log
- Se nulla funziona, chiedi all’AI di aiutarti a fare il debug del problema
Servizi infrastrutturali
Sezione intitolata “Servizi infrastrutturali”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.
Stati del ciclo di vita
Sezione intitolata “Stati del ciclo di vita”Le macchine di sviluppo attraversano questi stati del ciclo di vita:
| Stato | Descrizione |
|---|---|
| Pending | In attesa di essere creata |
| Initializing | Configurazione dell’ambiente in corso |
| Running | Attiva e funzionante |
| Suspended | In pausa per risparmiare risorse (riprende rapidamente) |
| Archived | Archiviata in cold storage (richiede più tempo per il ripristino) |
| Restoring | In fase di ripristino dallo storage archiviato |
| Failed | Provisioning o operazione fallita — la macchina può essere rieseguita |
| Terminated | Arrestata 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.