.net 建议的构建目标

.net 建议的构建目标,.net,msbuild,build-process,nant,.net,Msbuild,Build Process,Nant,我是一个单独的开发人员,正在研究诸如MSBuild/NAnt之类的工具来改进我的构建过程。我的项目文件开始因构建后事件而变得混乱,我希望在某些时候运行一些分析工具,而不是其他时候。我希望重新获得秩序,并将所有内容定义到构建XML文件中 我对构建目标的想法是: 调试生成:专为快速编译和部署而设计。未执行代码分析或检查 分析构建:执行调试构建、代码分析并生成文档 部署生成:使用适当的编译器标志编译版本。还执行与分析构建相同的步骤 我走对了吗?对于.NET开发,我应该使用什么构建目标?我们目前只使

我是一个单独的开发人员,正在研究诸如MSBuild/NAnt之类的工具来改进我的构建过程。我的项目文件开始因构建后事件而变得混乱,我希望在某些时候运行一些分析工具,而不是其他时候。我希望重新获得秩序,并将所有内容定义到构建XML文件中

我对构建目标的想法是:

  • 调试生成:专为快速编译和部署而设计。未执行代码分析或检查
  • 分析构建:执行调试构建、代码分析并生成文档
  • 部署生成:使用适当的编译器标志编译版本。还执行与分析构建相同的步骤
我走对了吗?对于.NET开发,我应该使用什么构建目标?

我们目前只使用CI(持续集成或调试构建)和发行版。 调试构建只包括编译,没有代码分析,测试等

发行版是所有魔术发生的地方(就像他们在MTV里经常说的那样):版本控制、代码签名、打包、压缩、模糊处理、文档等等


我可以想象另一个“发布”或“部署”构建目标,它执行发布并发布到测试服务器,在那里我决定何时将发布版本推送到我们的测试服务器。

以下部分更适用于团队开发


我同意限制配置的数量——每个配置都会增加维护开销。所以调试被剥离,而发行版有代码分析等。但是我在发行版上运行CI,所以我不必单独执行CI和发行版。这也意味着任何版本构建问题都会被签入触发的CI构建捕获,因此,如果开发人员破坏了(潜在的)版本,他们会立即得到反馈。我所做的另一件事是,对于发布配置,我更改项目设置,将警告视为错误,因为我喜欢代码没有警告;任何警告都将导致CI生成失败。由于代码分析会产生警告,这意味着任何违反CA规则的行为也会导致CI生成失败,这意味着开发人员将更快地修复此问题,从而从一开始就帮助确保代码质量更好。

。有一个名为“TFSDeployer”的工具,它可以做到这一点,当构建的构建质量发生变化时,它将启动一个可定制的脚本。可以在Codeplex上找到工具“TfsDeployer”。