【问题标题】:Deploying ASP.NET Core to linux -- avoiding 50 MB deploy?将 ASP.NET Core 部署到 linux - 避免 50 MB 部署?
【发布时间】:2016-08-12 06:45:58
【问题描述】:

我能够将 CoreCLR ASP.NET 应用程序部署到 Linux 并让它们运行,万岁。为此,我正在使用

dnu publish --no-source -o <dest-dir>

这给了我一个包含许多 CoreCLR 包的 dest-dir,其中一个是专门为我发布的应用程序提供的包。

这个文件夹相当大,大约 50 MB 用于https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-app-using-vscode/ 中描述的简单 Web 应用程序基本(无身份验证)。

有没有一种明智的方式来部署到 Linux 而无需过多推动?我能以某种方式摆脱一堆 CoreCLR 包吗?有没有一种只部署源代码并在服务器上完成工作的好方法(我可能已经看到了一些关于此的内容,但如果我看到了,我就失去了它)?

【问题讨论】:

    标签: linux asp.net-core coreclr asp.net5


    【解决方案1】:

    您已经在没有运行时发布(dnu publish 上的--runtime 选项),这会显着减小包大小。

    您需要以某种方式在服务器上获取这些软件包。即使您仅部署源,您也必须恢复将下载相同数量的包。此外,从源代码运行会使应用程序启动速度明显变慢(取决于依赖项的数量)。

    但是,如果您将整个 bundle 发布一次并且您的应用程序的依赖项没有改变,您可以只上传与您的项目对应的文件夹,而不是重新上传所有依赖项。

    【讨论】:

    • 我想知道dnu restore,由于我的上传速度很慢,可能还会尝试。但是,如果它不是最佳实践,我会随意尝试。
    猜你喜欢
    • 1970-01-01
    • 2018-09-20
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 2016-05-22
    相关资源
    最近更新 更多