Condividi tramite


Aggiungere il supporto dell'interfaccia della riga di comando per sviluppatori di Azure all'app usando il codice nella directory dell'app

L'interfaccia della riga di comando per sviluppatori di Azure (azd) fornisce due diversi flussi di lavoro per inizializzare un modello da usare con l'app, tra cui:

  • Usa il codice nella directory corrente: questo approccio analizza l'app e genera automaticamente le risorse di infrastruttura e configurazione supportate.
  • Selezionare un modello: questo approccio consente di integrare un modello esistente con l'app o di usare un modello esistente come punto di partenza per una nuova app.

Entrambi questi approcci vengono esaminati nella documentazione di panoramica Creare modelli dell'interfaccia della riga di comando per sviluppatori di Azure.

Questo articolo illustra come aggiungere il supporto per l'interfaccia della riga di comando per sviluppatori di Azure (azd) all'app tramite l'approccio Usare il codice nell'approccio della directory corrente. Per altre informazioni sull'approccio alternativo, visitare il documento Aggiungi azd supporto all'app usando un modello esistente. Per altre informazioni sulla creazione azd di modelli, vedere anche Training - build and deploy templates (Training - compilazione e distribuzione azd di modelli).

Usare il codice nella directory corrente

  1. È possibile seguire i passaggi successivi usando il proprio progetto. Tuttavia, se si preferisce seguire l'uso di un'applicazione di esempio, clonare il repository di avvio seguente in una directory vuota nel computer:

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Aprire un terminale per la directory radice del progetto.

  3. Eseguire il azd init comando per inizializzare il modello.

    azd init
    
  4. Quando richiesto, selezionare l'opzione Usa codice nella directory corrente. azd analizza il progetto e fornisce un riepilogo dei servizi rilevati e delle risorse di hosting di Azure consigliate.

  5. Selezionare Conferma e continuare l'inizializzazione dell'app. azd genera gli asset seguenti nella directory radice del progetto:

    • File azure.yaml con definizioni di servizio appropriate.
    • infra Cartella con file di infrastruttura come codice per effettuare il provisioning e distribuire il progetto in Azure.
    • .azure Cartella con variabili di ambiente impostate in un .env file.

    Altre informazioni su questo processo di rilevamento e generazione sono disponibili più avanti nell'articolo.

  6. I file generati funzionano così come sono per l'app di esempio fornita e possono anche essere per le tue app. Se necessario, i file generati possono essere modificati in base alle proprie esigenze. Ad esempio, potrebbe essere necessario modificare ulteriormente i file di infrastruttura come codice nella cartella se l'app infra si basa su risorse di Azure oltre a quelle identificate da azd.

  7. Eseguire il comando per effettuare il provisioning e distribuire l'app azd up in Azure.

    azd up
    
  8. Quando richiesto, selezionare la sottoscrizione e il percorso desiderati per avviare il processo di provisioning e distribuzione.

  9. Al termine del processo, fare clic sul collegamento nell'output azd per aprire l'app nel browser.

Esplorare i passaggi di inizializzazione

Quando si seleziona Il codice nel flusso di lavoro della directory corrente, il azd init comando analizza il progetto e genera automaticamente il codice in base a ciò che individua. Le sezioni seguenti illustrano i dettagli del funzionamento di questo processo e delle tecnologie attualmente supportate.

Rilevamento

Il azd init comando rileva i file di progetto per le lingue supportate che si trovano nella directory del progetto e nelle sottodirectory. azd analizza anche le dipendenze dei pacchetti per raccogliere informazioni sui framework Web o sui database usati dall'app. Se necessario, è possibile aggiungere o modificare manualmente i componenti rilevati come presentato nella richiesta di riepilogo della conferma.

La logica di rilevamento corrente è la seguente:

  • Lingue supportate:
    • Python
    • JavaScript/TypeScript
    • .NET
    • Java
  • Database supportati:
    • MongoDB
    • PostgreSQL
  • Per Python e JavaScript/TypeScript, vengono rilevati automaticamente framework Web e database.
  • Quando un progetto JavaScript/TypeScript usa un framework Web front-end (o lato client), viene classificato come servizio front-end. Se il servizio usa un framework Web front-end attualmente non rilevato, è possibile selezionare JQuery per fornire la classificazione e il comportamento del servizio front-end equivalenti.

Generazione

Dopo aver verificato i componenti rilevati, azd init genera i file di infrastruttura come codice necessari per distribuire l'applicazione in Azure.

La logica di generazione è la seguente:

  • Host supportati:
    • App contenitore di Azure.
  • Per i database, il mapping supportato tra tecnologia di database e servizio usato:
    • MongoDB: API Azure CosmosDB per MongoDB
    • PostgreSQL: server flessibile Database di Azure per PostgreSQL
    • Redis: componente aggiuntivo Redis per App Azure Container
  • I servizi che usano i database avranno variabili di ambiente che forniscono la connessione al database preconfigurato per impostazione predefinita.
  • Quando vengono rilevati entrambi i servizi front-end e back-end, la configurazione CORS nell'host di Azure per i servizi back-end verrà aggiornata per consentire il dominio di hosting predefinito dei servizi front-end. Questa operazione può essere modificata o rimossa in base alle esigenze nell'infrastruttura come file di configurazione del codice.

Aggiunta del supporto per i contenitori di sviluppo

È anche possibile rendere il modello compatibile con i contenitori di sviluppo e Codespaces. Un contenitore di sviluppo consente di usare un contenitore come ambiente di sviluppo completo. Può essere usato per eseguire un'applicazione, per separare strumenti, librerie o runtime necessari per lavorare con una codebase e per facilitare l'integrazione e il test continui. I contenitori di sviluppo possono essere eseguiti in locale o in remoto, in un cloud privato o pubblico. (Origine: https://containers.dev/)

Per aggiungere il supporto per i contenitori di sviluppo:

  1. Creare una cartella .devcontainer nella radice del progetto.

  2. Creare un devcontainer.json file all'interno della .devcontainer cartella con le configurazioni desiderate. Il azd modello iniziale fornisce un file di esempio devcontainer.json che è possibile copiare nel progetto e modificare in base alle esigenze.

Altre informazioni sull'uso dei contenitori di sviluppo sono disponibili nella documentazione di Visual Studio Code.

Aggiungere il supporto per una pipeline CI/CD

È anche possibile aggiungere il supporto per CI/CD nel modello usando GitHub actions o Azure DevOps seguendo questa procedura:

  1. Aggiungere una .github cartella per GitHub actions o una .ado cartella per Azure DevOps alla radice del progetto.

  2. Aggiungere un file del flusso di lavoro nella nuova cartella. Il azd modello iniziale fornisce un file del flusso di lavoro di GitHub Actions di esempio e i file di esempio delle pipeline di Azure DevOps per ogni piattaforma che è possibile copiare nel progetto e modificare in base alle esigenze.

  3. Potrebbe anche essere necessario aggiornare il main.parameters.json file nella infra cartella con le variabili di ambiente necessarie per l'esecuzione del flusso di lavoro.