2016-11-10 26 views
6

我正在使用Azure功能与GitHub部署。我想将回购内src/server/functionName/的功能,但只有当功能被直接放置在functionName/从子文件夹的Azure功能github部署

如何部署放置在子目录功能部署工作?

documentation状态

您host.json文件和文件夹的功能应该部署哪种根直接。

但“应该”并不意味着“必须”,对吧?

我的尝试:

  • 的host.json和function.json
  • 的位置在host.json我设置routePrefix各种组合,但它似乎只影响功能的URL:"http": { "routePrefix": "src/server" },
+0

至于我我已经创建了一个单独的分支来解决这个问题。我无法找到任何方法将它们放在其他地方 – 4c74356b41

+0

仅供参考 - “routePrefix”设置不涉及文件路径,它指的是http路由。如果您想定制/更改默认/ api路线,您只能使用它。 – mathewc

回答

7

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

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

如果你不希望提交一个.deployment文件到您的回购和您的要求相对简单,你也可以通过应用程序设置,通过添加一个PROJECT应用程序设置到您的功能应用程序与价值作为你的子目录,例如src\server

+1

部署脚本方法的工作原理!我正在编辑帖子以添加/ S开关。这复制目录,它允许您一次复制多个功能。 –