Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'interfaccia della riga di comando di Azure developer (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 Azure.
In questo articolo scoprirai come aggiungere il supporto per Azure Developer CLI (azd) alla tua app tramite l'approccio Usa il codice nella 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 azd).
Usare il codice nella directory corrente
È possibile seguire i passaggi successivi usando il proprio progetto. Tuttavia, se preferisci seguire la procedura utilizzando un'applicazione di esempio, clona il seguente repository iniziale in una directory vuota sul tuo computer:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstartApri un terminale nella directory radice del progetto.
Eseguire il
azd initcomando per inizializzare il modello.azd initQuando richiesto, selezionare l'opzione Usa codice nella directory corrente.
azdanalizza il progetto e fornisce un riepilogo dei servizi rilevati e delle risorse di hosting consigliate Azure.Selezionare Conferma e continuare l'inizializzazione dell'app.
azdgenera gli asset seguenti nella directory radice del progetto:- File
azure.yamlcon definizioni di servizio appropriate. - Una cartella
infracon file di Infrastructure as Code per eseguire il provisioning e distribuire il progetto in Azure. - Una
.azurecartella con variabili di ambiente impostate in un file.env.
Altre informazioni su questo processo di rilevamento e generazione sono disponibili più avanti nell'articolo.
- File
I file generati funzionano as-is per l'app di esempio fornita e possono anche essere usati per le proprie app. Se necessario, i file generati possono essere modificati in base alle proprie esigenze. Ad esempio, potrebbe essere necessario modificare ulteriormente i file infrastructure-as-code nella cartella se l'app
infrasi basa su Azure risorse oltre a quelle identificate daazd.Eseguire il comando per effettuare il provisioning e distribuire l'app
azd upin Azure.azd upQuando richiesto, selezionare l'abbonamento e la località desiderati per avviare il processo di provisioning e distribuzione.
Al termine del processo, fare clic sul collegamento nell'output
azdper aprire l'app nel browser.
Esplorare i passaggi di inizializzazione
Quando si seleziona il flusso di lavoro Usa il codice nella directory corrente, il comando azd init analizza il progetto e genera automaticamente il codice in base a ciò che rileva. Le sezioni seguenti illustrano i dettagli del funzionamento di questo processo e delle tecnologie attualmente supportate.
Scoperta
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, la mappatura supportata tra la tecnologia di database e il servizio utilizzato:
- MongoDB: API Azure Cosmos DB per MongoDB
- PostgreSQL: Database di Azure per PostgreSQL - Server flessibile
- Redis: componente aggiuntivo Redis per App contenitore di Azure
- 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 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:
Creare una cartella .devcontainer nella radice del progetto.
Creare un
devcontainer.jsonfile all'interno della.devcontainercartella con le configurazioni desiderate. Ilazdmodello iniziale fornisce un file di esempiodevcontainer.jsonche è 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 azioni o Azure DevOps seguendo questa procedura:
Aggiungere una cartella
.githubper GitHub Actions o una cartella.adoper Azure DevOps nella directory radice del progetto.Aggiungere un file del flusso di lavoro nella nuova cartella. Il
azdmodello di avvio fornisce un esempio GitHub Actions file del flusso di lavoro e un esempio Azure DevOps file Pipelines per ogni piattaforma. È possibile copiare questi file nel progetto e modificarli in base alle esigenze.Potrebbe anche essere necessario aggiornare il
main.parameters.jsonfile nellainfracartella con le variabili di ambiente necessarie per l'esecuzione del flusso di lavoro.