我正在尝试将连续部署配置到azure上的测试服务器。该应用程序是一个asp.net应用程序,但在本例中,这并不重要。
我的构建过程(TeamCity)生成一个文件夹,其中包含需要部署的所有内容(减去一些连接字符串信息)。如果你把iis指向那个目录,它会工作得很好。如果你将这个目录ftp到azure上,它也可以工作。
我在git中跟踪每个构建,并将它们推送到github。所以我尝试使用azure部署选项从github部署。一切都在git里。包括/bin文件夹。
kudu应该不需要做任何事情,只需要从git拉取并将所有文件复制到wwwroot。
因此,我将.deployment文件设置为:
[config]
project = .
不过,每次我这么做,部署都会给我一个信息:
Using cached version of deployment script (command: 'azure -y --no-dot-deployment -r "D:\home\site\repository" -o "D:\home\site\deployments\tools" --aspWAP "D:\home\site\repository\MyProj.csproj" --no-solution').
它运行一些通用的autogenerated deploy.cmd。
如果我从缓存中删除deploy.cmd,它会重新生成一些通用的命令。
而且,最重要的是,在执行所有这些操作时,部署了错误的程序集!!
我的应用程序依赖于system.web.helpers.dll。github中有此dll的正确版本。我已经验证过多次了。
然而,kudu正在从nuget抓取一个旧的并部署它。当然,我也会遇到一个可怕的ysod错误,就是无法加载那个文件。
我需要做什么才能让kudu将文件从我的github存储库复制到wwwroot而不是别的?
1条答案
按热度按时间7fhtutme1#
最后,我手工编辑了autogenerated deploy.cmd文件来部署它
\home\site\deployments\tools\deploy.cmd
在Kudu。我注解掉了自动生成的两行:
(也注解掉了它们下面的所有代码)
然后手动编辑第3部分,从部署源运行kudu sync,而不是像这样运行temp文件: