有时间向专业人士询问,因为我无法在其他任何地方找到一个好的答案,而且我正冒险进入我正在学习的世界。
我是一家主要开源的商店,最近开始接收大量基于.Net的内部工具和合作伙伴。这让我想到我可以通过在某些空间利用C#/ mono来利用两全其美。在一个小规模,我已经非常成功,它的工作很棒。但是,按下“Build”并将exe文件scp到位并不能很好地扩展。
我想稍微加强它并获得更多资源,所以这是我的问题;我需要什么样的基线资源来建立一个好的开发/测试/暂存环境。 我不需要超级详细的信息,我愿意考虑商业和开源解决方案,我想我更愿意寻找有关资源的好建议。在OS系列的任何一侧开发的99%的项目都是服务。
推荐使用哪种单位/回归测试工具,NUnit是标准?
建议为服务级别软件使用哪种部署机制?
在开发/设计工作中,您发现了哪些有用或必不可少的附加工具?
前两个项目很有意义,因为在我可行,可重复的开发和部署过程之前,它们是我最不缺的东西。
答案 0 :(得分:1)
您可能需要查看http://go-mono.com/monovs/ 它将使您在Visual Studio中从Linux进行调试。
Visual Studio中的单元测试框架也相当不错, 但如果您使用Visual Studio的标准版或免费版,NUnit也是一个不错的选择 (并且可以选择Visual Studio集成)
除此之外,我非常依赖Refactor Pro(以及该公司的其他产品) http://www.devexpress.com/Products/Visual_Studio_Add-in/Refactoring/
至于将文件scp到你的linux / mac机器上,可能会更容易 配置MSBuild自动为您执行此操作。 这可能会有所帮助:http://bartdesmet.net/blogs/bart/archive/2006/04/13/3896.aspx
可以在此处找到更多msbuild任务:http://msbuildcontrib.codeplex.com/
我希望这会有所帮助。
答案 1 :(得分:0)
对于构建和部署,您可以尝试NAnt。它将处理您的构建,并具有运行测试,执行干净的SVN检出,压缩版本等任务的任务。你也可以嵌入C#。抓住夜莺而不是发布,不要太担心最近缺乏活动。 nant-contrib项目也充满了额外的好处。
另一个选择是尝试msbuild(我相信有一个Mono等价物,虽然我不确定到什么程度)。说实话,这两者之间没有太大区别。
答案 2 :(得分:0)
我已经使用以下内容构建了有效的构建/测试/部署基础架构:
我们还使用subversion来管理源代码控制和部署(用于CMS和网站系统等)
我们使用的一些构建工具是:
当然,任何这些工具都可以替代您喜欢的其他工具(perl,python,ruby,Ant等)。
答案 3 :(得分:0)
这大致是我在工作中设置环境的方式:
这个CruiseControl.NET计算机定期检查我的源存储库。当它看到某些内容发生了变化时,它会从source-repository获取最新版本并构建它。它还执行单元测试,并在目标上运行fx-cop。
接下来,我已经对它进行了配置,以便它也可以执行夜间构建。这大致相同:
当某些事情在白天发生变化时:
我已经设置了我的源代码库,以便我可以在项目中保留不同的版本(分支)。 简而言之,我的source-repository看起来像这样:
由于我在Windows平台上工作,我使用MSBuild创建我的构建脚本(由Cruisecontrol执行),但是,您可以使用NAnt代替。 (我也用过它。)