Se usi Devin su una codebase esistente, la distribuzione avviene tramite la tua pipeline CI/CD, non tramite le distribuzioni ospitate descritte qui. Consulta Applicazioni esistenti.
Cos’è una distribuzione
Una distribuzione avviene quando Devin pubblica un’app che ha creato sull’infrastruttura ospitata da Cognition, in modo che l’app rimanga accessibile tramite un URL pubblico anche al termine della sessione. Devin può distribuire due tipi di risorse:- Frontend statici, serviti da
devinapps.com. - Backend FastAPI, distribuiti su Fly.io.
Disponibilità
La distribuzione è disponibile per le organizzazioni non enterprise con la modalità sicura disattivata:- Organizzazioni enterprise: la distribuzione è disabilitata per tutte le sessioni. In alternativa, effettua la distribuzione sulla tua infrastruttura.
- Toggle delle distribuzioni native: l’impostazione Enable native deployments in Settings > Devin determina se Devin può effettuare distribuzioni su internet pubblico con i suoi strumenti di distribuzione integrati. Disattivandola (modalità sicura), lo strumento di distribuzione viene rimosso dalle sessioni.
- Security profiles e network policy: le sessioni regolate da un security profile applicato vengono eseguite in modalità sicura e nessuna sessione con una network policy (proveniente da un profilo o da un’automazione) può effettuare distribuzioni, perché il caricamento del sito e le chiamate a Fly.io richiedono un accesso alla rete senza restrizioni.
Distribuzione del frontend
Devin carica il contenuto di una directory di build e lo pubblica come sito statico su un sottodominio univocohttps://<name>.devinapps.com. L’unico requisito è che la directory contenga un file index.html, quindi è compatibile qualsiasi framework che produca una build statica, inclusi Vite, le esportazioni statiche di Next.js, Astro, l’adattatore statico di SvelteKit e semplice HTML, CSS e JavaScript.
Quando Devin crea un frontend da zero e non hai specificato uno stack, genera un’app con Vite + TypeScript + Tailwind CSS + shadcn/ui. Si tratta dell’impostazione predefinita per i nuovi progetti, non di una limitazione su ciò che può essere distribuito.
Distribuzione del backend
Devin distribuisce backend Python su Fly.io, generando il Dockerfile efly.toml. Il progetto deve:
- avere un
pyproject.tomlcon un nome di progetto e - esporre un’app FastAPI denominata
appinapp/main.py.
Applicazioni esistenti
Devin non è in grado di distribuire applicazioni preesistenti sull’infrastruttura ospitata da Cognition. Un frontend statico potrebbe funzionare se la build genera una directory contenente un file
index.html, ma i backend esistenti in genere non funzionano, perché raramente seguono il layout FastAPI previsto dal sistema di distribuzione.
Per le applicazioni preesistenti, considera la distribuzione come qualsiasi altra attività che affideresti a un nuovo ingegnere: indica a Devin quale piattaforma usare e salva credenziali e comandi in Secrets e Skills.
