代码之家  ›  专栏  ›  技术社区  ›  Todd Menier

用于.NET构建的psake与rake

  •  18
  • Todd Menier  · 技术社区  · 14 年前

    我正在研究用于ASP.NET MVC 2应用程序的生成工具。我喜欢使用脚本语言而不是XML的想法,并将我的选择缩小到了psake或rake。我对Ruby或PowerShell没有太多经验,但我也愿意学习。如果这是我的最佳选择,我不介意在我的构建服务器上安装Ruby。

    我的体型没有太复杂或不寻常的地方。它需要从mercurial repo中提取我的源代码,构建一个Visual Studio 10解决方案,对配置文件进行一些转换,基于数据库(data dude)项目构建/运行SQL脚本,复制vs的Web发布,并可能执行其他一些基本文件同步。

    有没有人对Rake和Psake都有经验,可以比较它们?在特性方面,一种语言比另一种语言有优势,还是只取决于脚本语言偏好?

    事先谢谢。

    编辑: 我还没有合适的CI解决方案,但我倾向于使用TeamCity。我想我会提到它,以防一个构建工具比另一个更好地使用它。

    3 回复  |  直到 10 年前
        1
  •  18
  •   Derick Bailey    14 年前

    如果你没有这样做,看看我的Albacore项目。它是一套用于构建.NET解决方案的rake任务,将使使用rake更容易用于.NET解决方案。你可以从中得到你需要的所有信息 http://albacorebuild.net

    尽管如此,我显然有自己的偏见和偏好,我更愿意使用哪种工具。所以拿着这个吃点盐,了解我的喜好…

    …………

    老实说,我认为问题不在于哪个工具能满足你的需求,而在于哪个工具适合你的技能和舒适度。psake和rake+albacore的功能几乎相同。他们都工作得很好。与其他工具相比,它们都使您的工作非常容易。但他们有不同的方法和心态,基于他们的背景和他们来自哪里。

    您是否更愿意使用全是Microsoft平台的一系列工具?或者,您是否习惯使用不属于典型MS堆栈的工具,但仍然为在MS堆栈上构建软件的人员提供价值。

    您是否希望立即使用PowerShell支持您的生成工具?您是否希望拥有类似C的经验,能够将C和其他.NET代码合并到您的构建过程中?您是否希望能够为PowerShell使用各种插件,以帮助自动执行Windows的各个方面的部署?

    或者,您更愿意拥有一个跨平台、非常开放的系统,让您在用Ruby/Rake编写的代码中获得更自然的语言体验?对于部署,您是否熟悉*nix风格的工具和命令、ssh和远程进程执行?

    你说你不介意在构建服务器上安装Ruby,它回答了这个问题的一部分,让你可以选择。不过,还有很多问题需要回答。

    如果您更熟悉MS堆栈,并且希望获得基于MS的工具的开箱即用体验,那么可以使用PowerShell。如果你想扩展你的视野,走出MS堆栈一点,用一个易于集成和使用的工具集,来体验一下Ruby世界的一切,那么就使用Ruby/Rake/Albacore。

    我希望这有帮助,尽管我没有给你一个直接的答案,你应该使用哪一个。不过,希望我已经给了你足够的思考来决定哪一个更适合你/你的团队。

        2
  •  24
  •   James Kovacs    14 年前