2013-03-13 206 views
0

我有一个使用Git Deploy从BitBucket部署到Windows Azure的Orchard CMS网站。Azure网站Git部署错误

The process cannot access the file 'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\wwwroot\App_Data\Dependencies\Joel.Net.Akismet.dll' because it is being used by another process.

鉴于其Azure的网站,我不能“阻止应用程序池”或类似的东西:

只是我的最新变化,当我尝试部署我得到一个错误。我尝试停止该网站,但随后我停止了该网站的部署。我对如何排除故障进行了解。

试图通过ftp

有没有选择“重新启动”,但我可以停止和启动该网站进行更新,这不起作用(502 web服务器错误)。

通过ftp删除\ App_Data \ Dependencies文件夹中的文件不起作用,并且得到相同的错误。

停止网站,然后通过FTP上传文件确实有效。但是,试图通过Git的重新部署,我收到了类似的错误:

Command: deploy.cmd Handling Basic Web Site deployment. KuduSync.NET from: 'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\repository' to: 'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\wwwroot' Error: The process cannot access the file 'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\wwwroot\App_Data\Dependencies\Markdown.dll' because it is being used by another process. Copying file: 'App_Data\Dependencies\dependencies.compiled.xml' Copying file: 'App_Data\Dependencies\dependencies.xml' Copying file: 'App_Data\Dependencies\Ionic.Zip.dll' Copying file: 'App_Data\Dependencies\Joel.Net.Akismet.dll' Copying file: 'App_Data\Dependencies\Markdown.dll' An error has occurred during web site deployment. Handling Basic Web Site deployment.

我敢肯定,它不只是一个DLL,而是,在\ App_Data文件\文件夹依赖性所有的DLL没有得到“停止“在Git部署期间。

试图建立另一个网站在Azure上的网站做的Git部署

我已经设置了另一个Azure的网站Git的部署代码相同的分支,这工作得很好。

但是,当我将我的域名切换到新的Azure网站时,我的新网站不再有效,但我的旧网站可以接受git deploy。

因此,我的域名指向它的网站必须获取导致更新停止工作的活动。有没有办法停止网站做一个Git部署?


所以从我的回购按@移除依赖文件夹大卫的意见后,我发现了一个新的错误:

Command: deploy.cmd Handling Basic Web Site deployment. KuduSync.NET from: 'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\repository' to: 'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\wwwroot' Error: Access to the path 'Joel.Net.Akismet.dll' is denied. Copying file: '.gitignore' Deleting file: 'App_Data\Dependencies\Joel.Net.Akismet.dll' An error has occurred during web site deployment. Handling Basic Web Site deployment.

好像捻同步是看到有中没有文件相关性文件夹,并试图删除它们!当我完全没有Dependencies文件夹时会发生同样的情况 - 它会尝试删除Dependencies文件夹。

@David是否有一个kudu忽略文件?


已解决!

好吧,我保留在它,我终于解决了它。

  • 我删除了整个app_data文件夹(先备份它),然后将其检入到Git中。
  • 这是被推到Azure中,给了我一个新的果园现场
  • 我再重新添加我的app_data文件,但选择忽略App_Data文件/依赖关系文件夹
  • 推到Git和更新Azure的完美

希望我的下一个检查中仍然有效(手指交叉)

+0

还在http://social.msdn.microsoft.com/Forums/en-US/azuregit/thread/0f27c461-58db-42bb-901d-c35b2f1cd4df/ – 2013-03-19 04:07:31

回答

1

我猜测,这个问题的根源是,你犯App_Data\Dependencies文件夹到你的回购协议。这个文件夹是Orchard动态创建的,不应该在你的仓库中。

我怀疑,如果你不这样做(通过使用的.gitignore),一切都将正常工作,你不会得到这个错误。

+0

OK,用它玩一些我有固定的一切了!谢谢你:) – EdmundYeung99 2013-03-19 11:05:02

+0

太棒了!请注意,即使从这个问题不谈,这是一个混日子的想法,以限制双星是进入git的回购协议,因为它可以让他们非常大的量。例如在这里,即使从你的仓库中删除这些文件后,它们仍然永远在git数据库中。 – 2013-03-19 16:21:33

+0

感谢提示@David。但是,你能解释Kudu同步在这里工作吗?我还是有点困惑,为什么我能删除App_Data文件夹,为什么它没有在这种情况下,任何锁? – EdmundYeung99 2013-03-19 19:51:57

0

你可以只部署,这是类似于回收应用程序池之前重新启动该网站。只需点击仪表板上的页脚上的重启按钮即可。

+0

上进行了讨论重新启动与停止不同。重新启动站点后,您仍然应该能够部署,否? – levelnis 2013-03-13 08:43:49