Applicare aggiornamenti al modello

Completato

Il processo iniziale di provisioning e distribuzione di azd è un'ottima soluzione per iniziare a usare l'app in Azure. Tuttavia, dopo aver avviato l'ambiente, si desidera iniziare ad apportare modifiche al codice dell'app o all'ambiente di Azure.

Sono disponibili alcuni flussi di lavoro tra cui scegliere per aggiornare l'ambiente di Azure dopo aver apportato modifiche al modello di azd. È sempre possibile eseguire di nuovo azd up per aggiornare l'ambiente indipendentemente dal fatto che siano stati modificati il codice dell'applicazione o i file dell'infrastruttura. azd up completerà i passaggi relativi alla creazione del pacchetto, al provisioning e alla distribuzione ogni volta che viene eseguito, di conseguenza è una soluzione semplice per assicurarsi che venga eseguito il push di tutte le modifiche in Azure.

azd offre tuttavia comandi più granulari che eseguono il mapping a fasi specifiche del flusso di lavoro per sviluppatori. Questi comandi consentono anche di recuperare tempo, saltando i controlli non necessari o i passaggi che non sono stati modificati.

  • azd deploy - Questo comando consente di creare pacchetti e ridistribuire il codice sorgente dell'applicazione in Azure. Tuttavia, non eseguirà alcun file dell'infrastruttura come codice che applica modifiche alle risorse di Azure.

  • azd provision: questo comando consente di creare o aggiornerà le risorse di Azure in base alle modifiche apportate ai file dell'infrastruttura come codice. azd provision creerà ad esempio un nuovo account di archiviazione in Azure se viene aggiunto ai file Bicep o Terraform. Questo comando non consente tuttavia di creare il pacchetto del codice sorgente dell'applicazione o di ridistribuirlo.

Aggiornare il codice dell'app

Il team sta creando un'app di gestione dei ticket, non un'app Todo, quindi si vuole modificare il testo dell'intestazione di conseguenza. Completare i passaggi seguenti per aggiornare il codice dell'applicazione e ridistribuire le modifiche con azd:

  1. Individuare il file header.tsx nella directory src/web/src/layout del modello. Se si usa Visual Studio Code, è anche possibile usare il collegamento ctrl + p per cercare direttamente il file header.tsx.

  2. Cambiare Todo in Ticket Manager nel testo visualizzato nell'intestazione in prossimità della riga 42 e salvare le modifiche.

    <Stack horizontal styles={logoStyles}>
        <FontIcon aria-label="Check" iconName="SkypeCircleCheck" className={logoIconClass} />
        <Text variant="xLarge">Ticket Manager</Text>
    </Stack>
    
  3. In una finestra del prompt dei comandi impostata sulla radice della directory eseguire il comando azd deploy. Attendere qualche istante mentre azd ridistribuisce il codice.

    azd deploy
    
  4. Al termine, riesaminare l'app nel browser. Il testo in alto a sinistra dell'intestazione dovrebbe ora essere Ticket Manager.

Aggiornare le risorse di Azure

Il team intende aggiungere la funzionalità per consentire agli utenti di caricare file con il ticket, ad esempio immagini o screenshot di un problema riscontrato o altri documenti di servizio. Si vuole aggiungere all'ambiente un account di archiviazione di Azure che conterrà questi file. Si vuole anche assicurarsi che l'account di archiviazione sia incluso durante la configurazione iniziale quando viene effettuato il provisioning di questo modello per ambienti futuri. Per soddisfare questi requisiti, è possibile modificare i file dell'infrastruttura come codice per il modello seguendo questa procedura:

  1. Nella cartella infra nella radice del modello aprire il file main.bicep.

  2. Il modello contiene già un modulo Bicep riutilizzabile per la creazione di account di archiviazione, quindi è possibile usarlo per aggiungere quello personalizzato. Incollare il frammento di codice seguente nella parte inferiore del file main.bicep intorno alla riga 180, prima del punto in cui sono definite le variabili di output:

    module storage './core/storage/storage-account.bicep' = {
      name: 'storage'
      scope: rg
      params: {
        name: '${abbrs.storageStorageAccounts}${resourceToken}'
        location: location
        tags: tags
      }
    }
    
  3. Salvare le modifiche e quindi eseguire il comando azd provision. azd provision userà i file dell'infrastruttura come codice nel modello per aggiornare l'ambiente Azure, ma non ridistribuirà il codice sorgente dell'app.

    azd provision
    
  4. Al termine, seguire l'URL stampato nella console per avviare il portale di Azure nel browser. Dovrebbe essere visualizzato il gruppo di risorse che contiene tutte le risorse di cui è stato effettuato il provisioning in origine, incluso il nuovo account di archiviazione.

    Screenshot che illustra l'account di archiviazione distribuito.

Nota

Quando si usa azd, tenere presente che i file dell'infrastruttura come codice è idempotente: questo significa che indipendentemente dal numero di esecuzioni, lo stato finale desiderato rimarrà coerente. Bicep o Terraform applicherà modifiche ad Azure in modo che l'ambiente corrisponda allo stato dei file dell'infrastruttura, ma le modifiche non verranno applicate alle risorse che corrispondono già allo stato desiderato.