2009-11-05 59 views
0

我们的Web项目是使用SVN进行源代码控制的。它包含MSBuild文件来构建本地,测试和生产版本。我们还使用CruiseControl.NET手动部署生产和测试版本(不是在每次提交之后)。构建和部署的强制规则

问题是如何检查生产部署是否正在使用CC.NET web项目使用生产版本(而不是测试或其他)构建?如何在构建和部署到生产时强制执行特定的步骤(如压缩JS和CSS,用debug =“false”编译等等)?现在每个开发人员都可以对MSBuild文件进行更改(所以他/她可以忘记在生产版本上压缩JS等)。

回答

0

我广泛使用了CruiseControl和NAnt,但没有使用MSBuild。你有不同的MSBuild文件的每种构建类型(即本地/测试/产品)?你可以有一个可以参数化的单一的,这样你的CCNet集成商可以明确地为目标环境调用适当的选项吗?这就是我持续集成与在CCNet中配置的发布候选版本的关系。一个主NAnt构建脚本和一个不同的CC集成器,用于每个目标env,具有必要的构建参数(是它们的目标或属性值)。我想你可以做一些与MSBuild vars/targets相似的东西。

+0

是的,我们使用单个构建文件并将参数传递给它。但是,该构建文件可以由任何开发人员修改,例如,如果我们向部署脚本添加新功能,开发人员会忘记将其添加到部署脚本中,从而导致问题。如何检查构建文件是否包含新部署“功能”? – Sazug 2009-11-05 16:32:07