当前位置:  开发笔记 > 运维 > 正文

NAnt和双平台构建 - 在Windows和Mono/Linux上构建的最佳方式

如何解决《NAnt和双平台构建-在Windows和Mono/Linux上构建的最佳方式》经验,为你挑选了1个好方法。

我是NAnt的新手,但对Ant和CruiseControl有一些经验.

我想要做的是让我的SVN项目包括所需的所有工具(如NUnit和Mocks等),这样我就可以检查一台新机器并进行构建.JP Boodhoo 在此概述了这一策略.

到目前为止,如果我只想在Windows上运行那么好,但我希望能够检查到Linux并构建/测试/运行Mono.我不希望SVN项目外部有依赖项.我不介意在项目中有两套工具,但只想要一个NAnt构建文件

这一定是可能的 - 但是怎么样?什么是招数/'年轻球员的陷阱'



1> RobertTheGre..:

这不应该是一个特别困难的练习.我们在我的一个项目上做了一些非常相似的事情,因为有一半是在Java上使用Ant来运行相关目标,而另一半是用于UI的.Net(C#).这些项目在Windows机器上运行以进行开发,但服务器(Java)运行linux,但在UAT环境(linux)中我们需要运行nunits(集成测试).这背后的真正技巧(不是一个非常困难的技巧)是拥有一个可以在两个环境中运行的NAnt构建文件,这似乎与你在这里尝试做的事情相同.

当然你意识到你需要先在Mono上安装NAnt:

$ export MONO_NO_UNLOAD=1
$ make clean
$ make
$ mono bin/NAnt.exe clean build

然后你的构建文件需要以一种分离问题的方式编写.例如,为windows编写的构建文件的某些部分在linux中不起作用.所以你真的只需要将它划分为构建文件中的特定目标.之后,您可以通过多种方式从命令行运行特定目标.示例可能如下所示:


  
  
  
  

  
  

  
    
    
    
    
  

  
    
  

  
    
      
      
    
  

  
    You get the idea...
  


  
    You get the idea...
  

  
    You get the idea...
  


为简洁起见,我将双方都排除在外.巧妙的是,您可以在两种环境中使用NUnit和NAnt,从依赖的角度来看,这非常简单.对于每个可执行文件,您可以换掉在该环境中工作的其他可执行文件,例如(xBuild for MSBuild,svn for the tool等)

有关Mono上Nunit等的更多帮助,请查看这篇精彩的帖子.

希望有所帮助,

干杯,

Rob G

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有