我已经在.net平台上工作了几年,我必须说我对微软如何使.net跨平台兼容感到印象深刻.
我花了几个小时试图在mac上运行使用CoreCLR构建的小型hello world应用程序.它奏效了.虽然还有很多我还想了解的UNKNOWNS,但有一个问题我无法在google上找到答案.
如何自动部署dnx应用程序.我的意思是,你是否将你的aspnet 5应用程序编译成一个nuget包,然后在linux服务器上恢复它(我从未使用过Linux,所以不确定nuget是如何在那里工作的),并运行dnx命令?或者只是拉链并将其直接推送到服务器?
对不起,这对我来说都很新鲜,所以我的问题可能听起来很愚蠢.我只是想知道什么是我可以为我的asp.net 5应用程序实现持续交付的最佳方式.我的最终目标是在linux容器上托管我的应用程序.
解决方法
您可以使用dnu publish –runtime<运行时名称> –no源.这将创建一个包含应用程序,依赖项和运行时的文件夹.然后,您所要做的就是在服务器上获取该文件夹.
你如何移动文件真的取决于你的场景……它可能是FTP,存储,Kudu(如果你在Azure WebSites上),等等.
另一种方法是在服务器上执行还原.虽然这会在发布时减小应用程序的大小,但您必须在服务器上恢复可能不安全的软件包,并且还可能导致应用程序中断,因为在源上可能存在更新的,不兼容的软件包.
虽然没有正确答案适合所有人,但我发现如果你想获得最可靠和一致的结果,你应该发布所有内容,在本地测试,然后只需在服务器上复制软件包.