Tutorial: gestire gli ambienti di sviluppo e produzione con la CLI di Rayfin

In questa esercitazione viene configurato un ciclo di vita a due aree di lavoro per un'app Fabric usando solo l'interfaccia della riga di comando di Rayfin. Distribuisci le modifiche alle funzionalità in un'area di lavoro di sviluppo, le convalidi e quindi promuovi lo stesso progetto in un'area di lavoro di produzione. Questo flusso di lavoro usa passaggi di promozione manuali, in modo da mantenere il controllo di quando e come le modifiche raggiungono la produzione.

In questa esercitazione apprenderai a:

  • Creare un'area di lavoro Fabric di sviluppo e una di produzione per lo stesso progetto.
  • Distribuire le modifiche alle funzionalità nell'area di lavoro di sviluppo.
  • Passare da un deployment all'altro utilizzando la CLI di Rayfin.
  • Promuovere il progetto validato nell'area di lavoro prod.

Prerequisiti

Panoramica del flusso di distribuzione

  1. Avviare il computer locale e creare un'app Fabric.
  2. Creare funzionalità per l'app.
  3. Eseguire il test in locale, quindi eseguire la distribuzione nell'area di lavoro di sviluppo usando npx rayfin up -workspace <dev-workspace>.
  4. Quando le modifiche al codice vengono testate correttamente, eseguire di nuovo la distribuzione direttamente nell'area di lavoro Produzione usando npx rayfin up switch -workspace <prod-workspace>. switch consente di passare dall'ambiente agli ambienti di distribuzione.

Schermata che illustra il flusso di distribuzione per gli ambienti di sviluppo e produzione.

Passaggio 1: Creare aree di lavoro di sviluppo e produzione in Fabric

Creare manualmente le due aree di lavoro nel portale Fabric:

  1. Nel portale di Fabric creare un'area di lavoro denominata my-app-dev. Registra l'ID dell'area di lavoro.
  2. Creare una seconda area di lavoro denominata my-app-prod. Registrare l'ID dell'area di lavoro.

Passaggio 2: Accedere a Fabric

Accedi con il tuo account Entra ID così che la CLI possa distribuire nel tuo tenant:

npx rayfin login

Per selezionare un tenant specifico, passare --tenant:

npx rayfin login --tenant <tenant id>

Verificare l'account connesso in qualsiasi momento:

npx rayfin login status

Passaggio 3: Creare il progetto in locale

Creare una nuova app di Fabric da un modello. Eseguire questo comando una volta per il progetto:

npm create @microsoft/rayfin@latest my-app --workspace my-app-dev
cd my-app

Se si aggiunge Rayfin a un progetto esistente, eseguire npx rayfin init invece.

Passaggio 4: Distribuire nell'area di lavoro di sviluppo

Dalla radice del tuo progetto, distribuisci l'app su my-app-dev:

npx rayfin up --workspace my-app-dev

L'interfaccia della riga di comando crea un elemento dell'app Fabric nell'area di lavoro di sviluppo, applica lo schema del database e carica il contenuto statico se è abilitato l'hosting statico. La distribuzione viene registrata in rayfin/.env, e l'area di lavoro di sviluppo diventa la distribuzione attiva per le successive chiamate a npx rayfin up.

Per visualizzare in anteprima la distribuzione senza applicare le modifiche, eseguire:

npx rayfin up --dry-run --verbose

Passaggio 5: Sviluppare ed eseguire l'iterazione nell'area di lavoro di sviluppo

Usare l'area di lavoro di sviluppo come destinazione durante la compilazione delle funzionalità:

  1. Eseguire il server di sviluppo front-end in locale:

    npm run dev
    
  2. Modifica il codice, il modello di dati o rayfin/rayfin.yml.

  3. Applicare le modifiche solo allo schema quando necessario:

    npx rayfin up db apply
    
  4. Ridistribuire l'app completa per lo sviluppo:

    npx rayfin up
    

Ripetere questo ciclo fino a quando la funzionalità non è pronta per la promozione.

Passaggio 6: Promuovere il progetto nello spazio di lavoro prod

Quando si è pronti per il rilascio, distribuire lo stesso progetto in my-app-prod:

npx rayfin up --workspace my-app-prod

La CLI crea un elemento app di Fabric separato nel workspace prod e registra una seconda distribuzione. Prod diventa la nuova distribuzione attiva e rayfin/.env viene riscritta in modo che punti a tale distribuzione.

Passaggio 7: Passare tra distribuzioni di sviluppo e produzione

Usare npx rayfin up switch per spostarsi tra le due distribuzioni registrate senza digitare di nuovo gli ID dell'area di lavoro.

Elencare le distribuzioni registrate per il progetto:

npx rayfin up list

Seleziona una distribuzione a cui passare:

npx rayfin up switch --list

Tornare allo sviluppo per continuare il lavoro delle funzionalità:

npx rayfin up switch my-app-dev

Passare a prod per un hotfix o una convalida:

npx rayfin up switch my-app-prod

Dopo il passaggio, i comandi semplici npx rayfin up sono destinati all'area di lavoro appena attiva.

Passaggio 8: Verifica della distribuzione di prod

Dopo la distribuzione in prod, verificare che la distribuzione sia integra:

npx rayfin up status

Aprire l'URL di hosting stampato dall'interfaccia della riga di comando e verificare che l'app si comporti come previsto. Se viene rilevato un problema:

  1. Tornare allo sviluppo:

    npx rayfin up switch my-app-dev
    
  2. Riprodurre e risolvere il problema nell'ambiente di sviluppo.

  3. Ridistribuire in dev, verificare, quindi passare a prod ed eseguire npx rayfin up per distribuire la correzione.

  • Mantieni il tuo codice sorgente sotto controllo di versione. Considera rayfin/.env come un puntatore locale alla distribuzione attiva, non come fonte autorevole.
  • Usa un ramo dedicato per il lavoro in corso ed esegui il merge nel ramo principale solo dopo che la distribuzione nell'ambiente di sviluppo è stata convalidata.
  • Riservare npx rayfin up --force per i casi in cui l'interfaccia della riga di comando lo consiglia in modo esplicito. Evitare di eseguirlo regolarmente su prod.
  • Usare --dry-run prima di qualsiasi distribuzione prod per visualizzare in anteprima le azioni eseguite dall'interfaccia della riga di comando.
  • Confermare le impostazioni di autenticazione in rayfin.yml prima della promozione in produzione. Per le app distribuite è supportata solo l'autenticazione mediata da Fabric (Entra SSO). Per informazioni dettagliate, vedere Distribuire un'app Fabric per Fabric.