Skip to main content
La configurazione dichiarativa (blueprint) è la nuova generazione della configurazione degli ambienti: soggetta a controllo di versione, componibile e con aggiornamenti automatici. Questa guida ti accompagna nella migrazione dalla classica procedura guidata interattiva.

Perché migrare?

Con la procedura guidata di configurazione classica, l’ambiente di Devin è uno snapshot configurato manualmente che può cambiare nel tempo. Le dipendenze diventano obsolete, le modifiche alla configurazione richiedono di eseguire di nuovo la procedura guidata e non c’è una cronologia delle versioni. La configurazione dichiarativa risolve questo problema:
  • Aggiornamenti automatici: i blueprint vengono ricostruiti quando la tua repo cambia, così le dipendenze restano aggiornate
  • Versionato: la configurazione del tuo ambiente si trova accanto al tuo codice, con cronologia completa
  • Modulare: i blueprint Enterprise, org e repo si integrano tra loro in modo pulito
  • Riproducibile: ogni build produce lo stesso risultato a partire dallo stesso blueprint
  • Sessioni più rapide: gli snapshot sono predefiniti con le repo clonate e le dipendenze installate, quindi le sessioni si avviano già pronte per lavorare
Consigliamo di passare alla configurazione dichiarativa quando sei pronto. Nel frattempo, la configurazione classica continua a funzionare.

Prima di iniziare

Cerca un banner nella pagina Machine Configuration (la pagina di configurazione classica) con la dicitura “Passa al nuovo ambiente v2 di Devin”. Se lo vedi, la tua organizzazione è idonea.Se non vedi il banner, la configurazione dichiarativa non è ancora stata abilitata per la tua organizzazione. Il rilascio è graduale. Contatta l’amministratore Enterprise o il supporto.
La migrazione richiede le autorizzazioni di amministratore dell’org (ManageOrgSettings). Se non sei un amministratore dell’org, nella pagina di migrazione vedrai il messaggio “Accesso amministratore richiesto”.
Sì. Lo snapshot esistente viene conservato integralmente. Puoi ripristinarlo in qualsiasi momento e la tua organizzazione tornerà immediatamente allo snapshot precedente. Non andrà perso nulla.

Passaggi per la migrazione

1. Vai alla pagina di migrazione

Vai a Settings > Migrazione dell’ambiente oppure fai clic su Inizia nel banner mostrato nella pagina Machine Configuration.

2. Abilita la configurazione dichiarativa

Fai clic su Abilita per l’organizzazione. In questo modo, il tuo org userà snapshot basati su blueprint per le nuove sessioni.
Questo non influisce sullo snapshot esistente. Viene conservato nel caso in cui tu debba ripristinarlo.

3. Lascia che Devin generi i tuoi blueprint

Devin fa il lavoro al posto tuo. Fai clic su Start migration e seleziona i repository che vuoi migrare per primi. Non devi migrare tutto in una volta. Inizia dalle repo che usi di più. Quando avvii la migrazione, Devin crea due sessioni:
  • Una sessione principale in esecuzione nel nuovo ambiente dichiarativo, che genera i blueprint
  • Una sessione di supporto in esecuzione sullo snapshot esistente, che Devin usa per verificare ciò che è installato al momento (versioni dei linguaggi, pacchetti di sistema, servizi in esecuzione, ecc.)
Devin esamina lo snapshot esistente, identifica quali strumenti e dipendenze sono installati e genera la configurazione del blueprint equivalente. I risultati vengono visualizzati nella pagina Environment configuration.
Lo snapshot esistente è una “scatola nera” di tutto ciò che hai configurato nel tempo. Devin ispeziona quello snapshot, cataloga ciò che è installato e lo trascrive automaticamente come blueprint riproducibile.

4. Rivedi e modifica

Dopo che Devin ha generato i blueprint:
  1. Vai a Settings > Environment configuration per controllare ciò che è stato generato
  2. Verifica lo stato della build. Assicurati che sia Success.
  3. Avvia una sessione di test per verificare che tutto funzioni:
    • Conferma che le repo siano clonate e che le dipendenze siano installate
    • Prova a eseguire i comandi di lint, test e build
    • Verifica che eventuali strumenti o runtime personalizzati siano disponibili
Se manca qualcosa, modifica direttamente il blueprint. Puoi aggiungere passaggi initialize, comandi maintenance o voci knowledge.

Ripristino

Se qualcosa non funziona, puoi tornare indietro in qualsiasi momento:
  1. Vai a Settings > Environment migration
  2. Fai clic su Revert to classic setup
  3. La tua organizzazione torna immediatamente a utilizzare lo snapshot precedente
Lo snapshot esistente viene conservato integralmente. Non si perde nulla. Puoi riprovare la migrazione in qualsiasi momento.

Mappatura dei passaggi della configurazione classica nei blueprint

Se preferisci scrivere il blueprint manualmente (o vuoi capire la mappatura), ecco a cosa corrispondono i passaggi della procedura guidata classica:
Passaggio della configurazione classicaEquivalente nel blueprintNote
Git pullAutomaticoI blueprint gestiscono automaticamente git clone e pull
SecretsPannello Secrets nell’interfaccia utenteConfigura in Settings > Environment configuration
Installazione delle dipendenzeinitializeConfigurazione una tantum: runtime del linguaggio, pacchetti di sistema, strumenti globali
Gestione delle dipendenzemaintenanceConfigurazione ricorrente per sessione: npm install, pip install, ecc.
Lintknowledge (name: lint)Solo come riferimento, non eseguito durante le build
Testknowledge (name: test)Solo come riferimento, non eseguito durante le build
Avvio dell’appknowledge (name: dev-server)Solo come riferimento, non eseguito durante le build
Note aggiuntiveknowledgeVoci in formato libero per Devin

Esempio

Configurazione classica:
  • Installa le dipendenze: nvm use 20 && npm install
  • Aggiorna le dipendenze: npm install
  • Lint: npm run lint
  • Test: npm test
  • Avvia l’app: npm run dev
Blueprint equivalente:
initialize: |
  curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  source ~/.bashrc
  nvm install 20

maintenance: |
  npm install

knowledge:
  - name: lint
    contents: npm run lint
  - name: test
    contents: npm test
  - name: dev-server
    contents: npm run dev

Risoluzione dei problemi

Controlla i log di build per individuare l’errore specifico. Cause comuni:
  • Un comando che funzionava nel terminale della configurazione classica non funziona nel contesto di build (ad es. prompt interattivi che richiedono il flag -y)
  • secrets mancanti (assicurati che i secrets siano configurati nel relativo pannello dell’editor del blueprint)
  • Confronta i comandi del blueprint con quelli originali per individuare eventuali differenze
Assicurati che la sezione maintenance includa gli stessi comandi di installazione delle dipendenze del passaggio classico Maintain Dependencies. Comandi come npm install o pip install -r requirements.txt devono trovarsi in maintenance, non in initialize.
Verifica che la sezione knowledge contenga voci denominate lint e test con i comandi corretti. Devin cerca questi nomi quando verifica il proprio lavoro.
Se la configurazione classica modificava ~/.bashrc, ~/.profile o altri file di configurazione della shell, sposta queste modifiche in initialize:
initialize: |
  echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
  echo 'export NODE_ENV=development' >> ~/.bashrc
I blueprint gestiscono automaticamente git clone durante le build. Se le repo non vengono clonate, verifica che siano state aggiunte alla pagina Environment configuration e che Devin abbia accesso tramite la tua integrazione Git.