Azure 函数 github 从子文件夹部署

Azure functions github deployment from subfolder

我在 GitHub 部署中使用 Azure 函数。我想将函数放在 repo 中的 src/server/functionName/ 中,但只有当函数直接放在 functionName/

中时部署才有效

如何部署放置在子目录中的函数?

documentation 状态

your host.json file and function folders should be directly at the root of what you deploy.

但是"should"不等于"must",对吧?

我尝试了什么:

您可以通过多种方式自定义部署过程。一种方法是将 自定义部署脚本 添加到您的存储库根目录。当 .deployment 脚本存在时,Azure 将 运行 该脚本作为部署过程的一部分,详见 here。例如。您可以编写一个简单的脚本,将文件和目录从您的子目录 \src\server 复制到根目录,例如:

@echo off
echo Deploying Functions ...
xcopy "%DEPLOYMENT_SOURCE%\src\server" %DEPLOYMENT_TARGET% /Y /S

如果您不想将 .deployment 文件提交到您的存储库并且您的要求相对简单,您也可以通过应用设置添加 PROJECT app setting 到您的函数应用程序,值为您的子目录,例如src\server.

尝试在 .github/workflows/<something>.yml 中设置 AZURE-FUNCTIONAPP_PACKAGE_PATH 变量:

env:
  AZURE_FUNCTIONAPP_PACKAGE_PATH: 'azure/api' # set this to the path of your web app project, defaults to the repository root
  DOTNET_VERSION: '3.1.301'  # set this to the dotnet version to use