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 中設定組建提供者工作流程。 這些工作流程也需要您在與函式應用程式相同的虛擬網路中使用虛擬機器,作為自我裝載代理程式 (Azure Pipelines) 或自我裝載執行器 (GitHub)。
選取組建提供者
建置程式碼專案是部署程序的一部分。 特定建置程序取決於您的特定語言堆疊、作業系統和主控方案。 組建可以在本機或遠端完成,視您的特定裝載而定。 如需詳細資訊,請參閱遠端組建。
重要事項
為了提高安全性,請考慮使用支援受控識別的組建提供者,包括 Azure Pipelines 和 GitHub Actions。 App Service (Kudu) 服務會要求您啟用基本驗證,並使用以文字為基礎的認證。
Functions 支援這些組建提供者:
Azure Pipelines 是 Azure DevOps 中的其中一項服務,也是 Azure Repos 專案的預設建置提供者。 您也可以使用 Azure Pipelines 從 GitHub 建置專案。 在 Azure Pipelines 中,有一個 AzureFunctionApp 任務,專門為部署到 Azure Functions 設計。 此工作可讓您控制專案如何進行建置、封裝及部署。 支援受控識別。
啟用原始檔控制整合時,請記住這些提供者的優點和限制。 您可能需要變更存放庫來源類型,才能利用特定提供者。
設定連續部署
Azure 入口網站提供函數應用程式的部署中心,讓您更輕鬆地設定持續部署。 您設定持續部署的特定方式取決於程式碼所在的原始檔控制存放庫類型,以及您選擇的組建提供者。
在 Azure 入口網站中,流覽至您的函式應用程式頁面,然後選取左窗格中 [部署] 底下的 [部署中心]。
從下列其中一個支援選項中,選取要維護專案程式碼的來源存放庫類型:
使用 Azure Pipelines 從 Azure Repos 的部署是在 Azure DevOps 入口網站中定義,而不是從函數應用程式部署。 如需從 Azure Repos 中建立以 Azure Pipelines 為基礎的部署的逐步指南,請參閱 使用 Azure Pipelines 持續交付。
部署完成後,來自指定來源的所有程式碼都會部署至您的應用程式。 此時,部署來源中的變更會觸發在 Azure 中對這些函數應用程式變更的部署。
啟用應用程式建立期間的持續部署
目前,您可以在 Azure 入口網站中建立函數應用程式時,使用 GitHub Actions 設定從 GitHub 持續部署。 您可以在 [建立函數應用程式] 頁面中的 [部署] 索引標籤上執行此動作。
如果您想要使用不同的部署來源或建置提供者進行持續整合,請先建立函數應用程式,然後返回入口網站,然後在部署中心設定持續整合。
啟用部署的基本驗證
在某些情況下,您的函數應用程式在建立時會停用 scm 端點的基本驗證存取。 這會封鎖透過所有無法使用受控識別存取 scm 端點的方法來發佈。 停用 scm 端點的發佈影響詳述於不使用基本驗證進行部署。
重要事項
當您使用基本驗證時,認證會以純文字傳送。 若要保護這些認證,使用基本驗證時,您只能透過加密連線 (HTTPS) 來存取 scm 端點。 如需詳細資訊,請參閱安全部署。
若要對 scm 端點啟用基本驗證:
在 Azure 入口網站中,移至您的函式應用程式。
在應用程式的左側功能表上,選取 設定>設定> 一般設定。
將 SCM 基本驗證發佈認證設定為 [開啟],然後選取 [儲存]。