尽管我找不到解决方案,但这似乎是一项简单的任务。我最近启动了一个 Laravel 4 项目,需要托管在 Azure 上。当发生更改时,我已将 Azure 链接到从 bitbucket 进行部署。但是,这会将文件推送到 Azure 中的“wwwroot”文件夹(公共(public)文件夹)。某些框架文件不应该位于公共(public)文件夹中,因此我想推送到父文件夹“site”。
经过一番研究,我发现您可以使用 .deployment 文件来配置部署选项 ( https://github.com/projectkudu/kudu/wiki/Deployment-hooks )
所以我尝试了.deployment 文件:
[config]
DEPLOYMENT_TARGET = C:\DWASFiles\Sites\SITENAME\VirtualDirectory0\site
不幸的是,这会导致错误:
源目录和目标目录不能互为子目录
这是因为存储库文件夹也位于站点文件夹中。如果我将部署文件更改为:
[config]
DEPLOYMENT_SOURCE = C:\DWASFiles\Sites\SITENAME\VirtualDirectory0\repo
DEPLOYMENT_TARGET = C:\DWASFiles\Sites\SITENAME\VirtualDirectory0\site
它运行时没有错误,但它不会推送任何内容,因为 repo 文件夹是空的,我想如果我能让 Azure 将文件放入\repo 而不是\site\repository ,一切都会好起来的。
也许我把事情复杂化了,我真的很感激任何建议。最坏的情况我可以推送到“wwwroot”文件夹并使用 web.config 来修复问题。
最佳答案
目前这还没有得到很好的支持,但您也许可以通过在应用设置中设置一些内容来使其工作:
SCM_REPOSITORY_PATH=..\repository
SCM_TARGET_PATH=..
这基本上告诉它将存储库直接放入VirtualDirectory0
(而不是VirtualDirectory0\site
),然后部署到VirtualDirectory0\site
code>(与 VirtualDirectory0\site\wwwroot
相反)。
这假设您的存储库包含一个名为 wwwroot 的文件夹。
有关这些路径的一些信息 here
关于git - Azure Git 部署到站点文件夹而不是 wwwroot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18837772/