我花了很多时间用psake配置自动构建,我想到为什么不使用我最熟悉的语言创建构建器?
psake是一个创建自动构建的优秀框架。我一直遇到的麻烦是学习powershell来运行更复杂的任务。我确信对于NAnt,msbuild等也可以这么说。
我解决这个问题的想法是为.Net中的给定解决方案创建构建系统。该过程的基本结构如下:
的build.bat
rem // Set the environment for msbuild.
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
rem // Build the solution's builder.
msbuild.exe buildsolution.csproj
rem // Run the solution's builder.
BuildSolution.exe <task>
项目的BuildSolution
一个小型控制台应用程序:
测试任务
最终测试任务将调用nunit,mstest,xunit等,但首先构建所需的命令行。这是使用.Net而不是PowerShell的一个例子。
当我开发我的应用程序时,我遵循ProjectName和ProjectName.Tests的简单命名约定。构建系统搜索* .Tests.dll并将它们包含在mstest命令行中。
使用.Net应用程序构建此任务的优点是:
摘要
除了测试任务中列出的优势之外,BuildSolution的优点还在于项目的新开发人员可以轻松理解和编辑构建系统。
您对BuildSolution的想法有何看法?
答案 0 :(得分:4)
据我所知,您正在谈论推出自己的解决方案。我会将此与使用其他人的现有解决方案进行比较。
优点:
缺点:
最终你应该尝试添加你能想到的任何自己的优点和缺点。特别是考虑商业立场。以小时/美元计算两种解决方案。从长远来看,使用较少的成本,或使用混合方法(短期内一个,长期另一个,制定迁移计划和时间表)。
话虽如此,我已经在不止一个团队中推出了自己的一个以上的问题。我也从我自己的使用转移到使用其他人的产品。我发现它很有价值,我认为它在某些情况下可能是正确的解决方案,特别是如果你将它用作一个短期的自举时。