對範本套用更新

已完成

初始 azd 佈建和部署流程是開始使用 Azure 中應用程式的絕佳方式。 不過,一旦環境正在執行,您會想要開始對應用程式程式碼或 Azure 環境進行變更。

在對 azd 範本進行變更之後,有一些不同的工作流程可供選擇來更新您的 Azure 環境。 不論您變更了應用程式程式碼或基礎結構檔案,您隨時都可以再次執行 azd up 來更新環境。 azd up 將會在每次執行時完成套件、佈建和部署步驟,因此這是確保所有變更都推送至 Azure 的簡單方式。

不過,azd 也提供更細微的命令,以對應至開發人員工作流程的特定階段。 這些命令也可以略過您知道尚未變更的不必要的檢查或步驟,以節省時間。

  • azd deploy - 此命令會將您的應用程式原始程式碼封裝並重新部署至 Azure。 不過,它不會執行任何基礎結構作為將變更套用至 Azure 資源的程式碼檔案。

  • azd provision - 此命令會根據基礎結構的變更作為程式碼檔案來建立或更新 Azure 資源。 例如,如果您將它新增至 Bicep 或 Terraform 檔案,azd provision 則會在 Azure 中建立新的儲存體帳戶。 不過,此命令不會封裝或重新部署應用程式原始程式碼。

更新應用程式程式碼

您的小組正在建置票證管理應用程式 - 而非待辦事項應用程式,因此您應據以變更標頭文字。 完成下列步驟以更新應用程式程式碼,並使用 azd 重新部署變更:

  1. 在範本的 src/web/src/layout 目錄中找出 header.tsx 檔案。 如果您使用 Visual Studio Code,也可以使用 ctrl + p 捷徑直接搜尋 header.tsx 檔案。

  2. 將 42 行附近的標頭顯示文字從 Todo 變更為 Ticket Manager,並儲存變更。

    <Stack horizontal styles={logoStyles}>
        <FontIcon aria-label="Check" iconName="SkypeCircleCheck" className={logoIconClass} />
        <Text variant="xLarge">Ticket Manager</Text>
    </Stack>
    
  3. 在設定為您目錄的根目錄的命令提示視窗中,執行 azd deploy 命令。 請稍候片刻讓 azd 重新部署您的程式碼。

    azd deploy
    
  4. 當命令完成時,請在瀏覽器中重新瀏覽您的應用程式。 標頭左上方的文字現在應該會是「票證管理員」

更新 Azure 資源

您的小組計畫新增使用者使用票證上傳檔案的能力,例如他們遇到的問題的影像或螢幕擷取畫面,或其他服務文件。 您想要將 Azure 儲存體帳戶新增至將保存這些檔案的環境。 您也想要確定此範本佈建到未來的環境時,儲存體帳戶會包含在初始設定中。 您可以使用下列步驟修改範本的基礎結構即程式碼檔案,以符合這些需求:

  1. 在範本根目錄的 infra 資料夾中,開啟 main.bicep 檔案。

  2. 範本已經包含了可重複使用的 Bicep 模組來建立儲存體帳戶,因此您可以使用它來新增自己的帳戶。 將下列程式碼片段貼到 main.bicep 檔案底部上面的第 180 行,其中定義了輸出變數:

    module storage './core/storage/storage-account.bicep' = {
      name: 'storage'
      scope: rg
      params: {
        name: '${abbrs.storageStorageAccounts}${resourceToken}'
        location: location
        tags: tags
      }
    }
    
  3. 儲存您的變更,然後執行 azd provision 命令。 azd provision 將會使用範本中的基礎結構作為程式碼檔案來更新 Azure 環境,但不會重新部署任何應用程式原始程式碼。

    azd provision
    
  4. 當命令完成時,請遵循主控台中印出的 URL,在瀏覽器中啟動 Azure 入口網站。 您應該會看到保留所有原始佈建資源的資源群組,包括新的儲存體帳戶。

    A screenshot showing the deployed storage account.

注意

使用 azd 時,請記住,基礎結構即程式碼檔案具有等冪性,這表示無論您執行程式碼檔案的次數為何,所需的結束狀態都會維持一致。 Bicep 或 Terraform 會將變更套用至 Azure,讓您的環境符合基礎結構檔案的狀態,但變更不會套用至已符合所需狀態的資源。