【问题标题】:Force rules for build and deployment强制构建和部署规则
【发布时间】:2010-12-13 09:21:57
【问题描述】:

我们的网络项目使用 SVN 进行源代码控制。它包含用于构建本地、测试和生产构建的 MSBuild 文件。我们还使用 CruiseControl.NET 将生产和测试版本手动部署到服务器(而不是在每次提交之后)。

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

【问题讨论】:

    标签: deployment msbuild build cruisecontrol.net rules


    【解决方案1】:

    我广泛使用了带有 NAnt 的 CruiseControl,但没有使用 MSBuild。每种构建类型(即本地/测试/产品)是否有不同的 MSBuild 文件? Could you have a single one that can be parameterized such that your CCNet integrators can explicitly call the appropriate options for the target environment?这就是我在 CCNet 中配置持续集成与发布候选版本的方式。每个目标环境的单个主 NAnt 构建脚本和不同的 CC 集成器具有必要的构建参数(可以是目标或属性值)。我想你可以用 MSBuild vars/targets 做一些非常相似的事情。

    【讨论】:

    • 是的,我们使用单个构建文件并将参数传递给它。但是,任何开发人员都可以修改该构建文件,例如,如果我们向部署脚本添加新功能而开发人员忘记将其添加到部署脚本,则会导致问题。如何检查构建文件是否包含新的部署“功能”?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 2014-10-20
    • 2013-08-18
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    相关资源
    最近更新 更多