Azure Functions 的持續部署

Azure Functions 可讓您持續將原始檔控制存放庫中所做的變更部署到已連線的函式應用程式。 此 原始檔控制整合 可啟用工作流程,其中程式代碼更新會觸發從您的專案到 Azure 的建置、封裝和部署。

您應該一律設定預備位置的持續部署,而不是針對生產位置。 當您使用生產位置時,程式代碼更新會直接推送至生產環境,而不會在 Azure 中驗證。 相反地,啟用對預備位置的持續部署、確認預備位置中的更新,並在一切正常執行之後,您可以將 預備位置程式代碼交換至生產環境。 如果您連線到生產位置,請確定只有生產品質的程式代碼才能進入整合式程式代碼分支。

本文中的步驟說明如何使用 Azure 入口網站 中的部署中心,在 Azure 中設定函式應用程式的連續程式代碼部署。 您也可以 使用 Azure CLI 設定持續整合。 這些步驟可以以預備或生產位置為目標。

Functions 支援這些來源,以持續部署至您的應用程式:

在 Azure Repos維護您的項目程式代碼,這是 Azure DevOps 中的其中一項服務。 同時支援 Git 和 Team Foundation 版本控制。 與 Azure Pipelines 組建提供者搭配使用。 如需詳細資訊,請參閱 什麼是 Azure Repos?

您也可以將函式應用程式連線到外部 Git 存放庫,但這需要手動同步處理。 如需部署選項的詳細資訊,請參閱 Azure Functions 中的部署技術。

注意

本文所涵蓋的持續部署選項專屬於僅限程式代碼部署。 如需容器化函式應用程式部署,請參閱 啟用對 Azure 容器的持續部署。

需求

在 Azure 中,函式的部署單位是函數應用程式。 若要持續部署成功,專案的目錄結構必須與 Azure Functions 預期的基本資料夾結構相容。 當您使用 Azure Functions Core Tools、Visual Studio Code 或 Visual Studio 建立程式碼專案時,Azure Functions 範本會用來建立具有正確目錄結構的程式代碼專案。 函式應用程式中的所有函式都會同時部署在相同的套件中。

啟用持續部署之後,Azure 入口網站 中的函式程式代碼存取會設定為唯讀,因為已知事實來源位於別處。

注意

部署中心不支援針對具有 輸入網路限制的函式應用程式啟用持續部署。 您必須改為直接在 GitHub 或 Azure Pipelines 中設定組建提供者工作流程。 這些工作流程也需要在與函式應用程式相同的虛擬網路中使用虛擬機,做為自我裝載代理程式(Pipelines)自我裝載執行器(GitHub)。

選取組建提供者

建置程式代碼專案是部署程式的一部分。 特定建置程式取決於您的特定語言堆疊、操作系統和裝載方案。 組建可以在本機或遠端完成,視您的特定裝載而定。 如需詳細資訊,請參閱遠端組建

重要

為了提高安全性,請考慮使用支援受控識別的組建提供者,包括 Azure Pipelines 和 Gitub Actions。 App Service (Kudu) 服務會要求您 啟用基本調整 ,並使用以文字為基礎的認證。

Functions 支持這些組建提供者:

Azure Pipelines 是 Azure DevOps 中的其中一項服務,也是 Azure Repos 專案的預設建置提供者。 您也可以使用 Pipelines 從 GitHub 建置專案。 在 Pipelines 中,有專為 AzureFunctionApp 部署至 Azure Functions 而設計的工作。 此工作可讓您控制專案如何建置、封裝及部署。 支援受控識別。

啟用原始檔控制整合時,請記住這些提供者的優點和限制。 您可能需要變更存放庫來源類型,以利用特定提供者。

設定連續部署

Azure 入口網站 會為您的函式應用程式提供部署中心,讓您更輕鬆地設定持續部署。 您設定持續部署的特定方式取決於程序代碼所在的原始檔控制存放庫類型,以及 您選擇的組建提供者

Azure 入口網站 中,流覽至函式應用程式頁面,然後選取左窗格中 [部署] 下的 [部署中心]。

您在 Azure 入口網站 中選擇來源存放庫的函式應用程式部署中心螢幕快照。

從下列其中一個選項選取要維護專案程式代碼的來源存放庫類型:

使用 Azure Pipelines 的 Azure Repos 部署是在 Azure DevOps 入口網站中定義,而不是從函式應用程式進行。 如需從 Azure Repos 建立管線型部署的逐步指南,請參閱 使用 Azure Pipelines 持續傳遞。

部署完成之後,來自指定來源的所有程式代碼都會部署到您的應用程式。 此時,部署來源中的變更會觸發在 Azure 中對這些函數應用程式變更的部署。

在應用程式建立期間啟用持續部署

目前,當您在 Azure 入口網站 中建立函式應用程式時,可以使用 GitHub Actions 從 GitHub 設定持續部署。 您可以在 [建立函式應用程式] 頁面中的 [部署] 索引標籤上執行此動作。

如果您想要使用不同的部署來源或建置提供者進行持續整合,請先建立函式應用程式,然後返回入口網站,並在 部署中心設定持續整合。

啟用部署的基本身份驗證

根據預設,您的函式應用程式會以已停用端點的基本驗證存取 scm 權來建立。 這會封鎖所有無法使用受控識別來存取 scm 端點的方法發佈。 在沒有基本身份驗證的情況下,部署中詳述停用端點的發佈影響scm

重要

當您使用基本認證時,會以純文本傳送認證。 若要保護這些認證,使用基本身份驗證時,您只能透過加密連線 (HTTPS) 存取 scm 端點。 如需詳細資訊,請參閱 安全部署

若要對端點啟用基本身份驗證 scm

  1. Azure 入口網站中,瀏覽至您的函式應用程式。

  2. 在應用程式的左側功能表中,選取 [設定]>[一般設定]

  3. 將 [SCM 基本驗證發佈認證] 設定[開啟],然後選取 [儲存]。

下一步