Azure 函数 github 从子文件夹部署
Azure functions github deployment from subfolder
我在 GitHub 部署中使用 Azure 函数。我想将函数放在 repo 中的 src/server/functionName/
中,但只有当函数直接放在 functionName/
中时部署才有效
如何部署放置在子目录中的函数?
your host.json file and function folders should be directly at the root of what you deploy.
但是"should"不等于"must",对吧?
我尝试了什么:
- host.json 和 function.json
位置的各种组合
- 在
host.json
中我设置了 routePrefix
但它似乎只影响函数的 URL: "http": { "routePrefix": "src/server" },
您可以通过多种方式自定义部署过程。一种方法是将 自定义部署脚本 添加到您的存储库根目录。当 .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
我在 GitHub 部署中使用 Azure 函数。我想将函数放在 repo 中的 src/server/functionName/
中,但只有当函数直接放在 functionName/
如何部署放置在子目录中的函数?
your host.json file and function folders should be directly at the root of what you deploy.
但是"should"不等于"must",对吧?
我尝试了什么:
- host.json 和 function.json 位置的各种组合
- 在
host.json
中我设置了routePrefix
但它似乎只影响函数的 URL:"http": { "routePrefix": "src/server" },
您可以通过多种方式自定义部署过程。一种方法是将 自定义部署脚本 添加到您的存储库根目录。当 .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