从 GitHub 持续部署在 Azure 中失败(ASP.NET 5 和 MVC 6)

Posted

技术标签:

【中文标题】从 GitHub 持续部署在 Azure 中失败(ASP.NET 5 和 MVC 6)【英文标题】:Continuous Deployment from GitHub failing in Azure (ASP.NET 5 & MVC 6) 【发布时间】:2015-12-17 19:22:25 【问题描述】:

我在 Azure 中从 GitHub 进行持续部署时遇到问题。我有一个共享定价层,如果我升级到基本定价层,问题就会消失。这适用于 ASP.NET MVC 6 应用程序 (RC1)。

基本上我收到以下错误: http://pastebin.com/PgARgurg

突出的一点是:

Restore failed
There is not enough space on the disk.

如果我直接从 Visual Studio 发布到共享层,它可以正常工作。只有在使用持续部署时才会失败。

有什么想法吗?

【问题讨论】:

【参考方案1】:

共享实例的资源非常有限,尤其是在磁盘大小方面。来自 GitHub 的持续部署集成涉及在每次更改时将代码副本保存到磁盘,这并不总是立即(或根本不)清理。从 Visual Studio 直接发布到 Azure 会自动清理之前的部署包。升级您的层解决问题的原因是专用和增加的可用磁盘空间。如果您认为持续集成(以及磁盘空间)对您的工作很重要,则应该升级到 Basic。

【讨论】:

【参考方案2】:

还有一个警告。共享 Web 应用程序实例对 Temp Folder size of 300Mb 有限制。

asp.net 5 RC1 应用程序使用比 Beta8 应用程序更多的临时文件夹存储空间。现在几乎不可能通过持续集成将 RC1 部署到免费应用服务。

【讨论】:

【参考方案3】:

基本上恢复的包大小与应用程序的已发布包大小相同。 你可以通过打开恢复的包来理解为什么会这样……例如,在下面的场景中,发布的包只有运行应用程序所需的内容。

恢复 JSON.NET 包内容:

已发布 JSON.NET 包内容:

那么您可能应该从持续部署中发布应用程序吗?

【讨论】:

有道理,谢谢。奇怪的是,考虑到我的网站很小,它是共享使用选项的一个选项! 尽管如此,Shared 选项允许 1GB 磁盘空间,而我只使用 60mb(在解决方案中,但即使查看包文件夹它仍然是 @AdrianLucaThomas:有多少可用空间?对于一个开箱即用的 MVC 模板,我看到总包大小约为 500 MB... 共享选项为 1GB。然而,根据 Matias 的帖子,这听起来可能是临时文件夹的问题(但这是基于免费的网络应用程序,而不是共享的)。

以上是关于从 GitHub 持续部署在 Azure 中失败(ASP.NET 5 和 MVC 6)的主要内容,如果未能解决你的问题,请参考以下文章

升级后 Azure 服务结构持续部署和回滚选项

生成 ASP 应用程序并将其部署到 Azure Web 应用程序失败

从 GitHub 部署时处理 config.json 文件

在 azure 上部署 cloudera 失败,JSON / ARM 模板函数“copyIndex”出错

Azure 部署中心的 CI/CD 失败,因为存储库名称必须小写

Azure node.js API App - 在运行时失败(可能是node.js版本问题?)