我已经在Ubuntu中完美运行了Monoserve和Nginx,但是我仍然需要使用MSBuild将网站发布到本地的Windows box上,然后将文件复制过来。
我更希望有一个Linux服务器来做这件事,而不是使用XBuild,但是我只能让它将项目构建到.dlls中,我如何发布和部署它与js,css,视图等?
发布于 2013-01-20 10:30:08
通常,“构建dll”部分是最难的部分。如果你解决了这个问题,你就有80%的机会了。另一半是发布内容。在最基本的方面,您正在将文件的一部分从源目录复制到website文件夹。MSDeploy是微软的解决方案,但它太复杂了。我构建了一个完成此任务的NAnt任务,尽管这也不适用于您的特定场景。但是,一般的方法可以:
<Content Include="some\file.ext" />节点的csproj文件。XPath可以做到这一点,Linq to XML也可以做到这一点。这为您提供了所有的.aspx、.cshtml、.js、.css、.png、.config等,同时小心地留下了所有的.cs文件。您需要在.csproj文件的路径前加上前缀,以获得真实的源文件位置,并希望确保将文件夹结构保留在目标位置。创建一个执行上述3个步骤的脚本,然后从XBuild任务调用它,或者从CI进程调用XBuild和此脚本。哇塞。您已经有了一个部署目标。祝你编码愉快!
发布于 2013-01-27 09:14:10
我希望有一台Linux服务器来做这件事,而不是使用XBuild。好消息是,你可以用我在this文章中找到的一种变通方法来做这件事。以下是上述文章中的摘录和解决方法链接:
构建服务器未安装Microsoft MVC (任何版本)。然而,这很容易解决-Microsoft MVC可以在http://nuget.org/packages/Microsoft.AspNet.Mvc的NuGet上找到。如果你需要安装一个旧版本,点击页面底部的旧版本,你会看到关于如何安装该版本框架的说明。
希望这能让你轻松一点!
发布于 2014-11-24 16:54:55
@达润的想法效果很好!我只是根据@达润的想法写了一个小脚本,希望能对其他人有所帮助。https://github.com/z-ji/MonoWebPublisher
https://stackoverflow.com/questions/14296517
复制相似问题