【问题标题】:build script - how to do it构建脚本 - 怎么做
【发布时间】:2009-12-17 14:35:45
【问题描述】:

大约 2 个月前,我超越了当前公司的构建过程。虽然我对它了解不多,但只有我有足够的时间,所以我没有太多选择。

情况不太好,我想做以下事情:

  1. 在 SourceSafe 中使用版本标记文件(例如 ProjectName PV 1.2)
  2. 从 SourceSafe 获取文件到特定目录
  3. 构建 vb6/c++/c# 项目(是的,各种各样的)
  4. 构建 InstallShield 设置

目前这部分是使用批处理脚本完成的(一个用于标记和获取,一个用于构建等)。因此,在开始建造时,我几乎要照看它。 这段代码的大部分内容可以重复使用。

关于如何做得更好的任何建议?一个大问题是项目之间的一大堆依赖关系。此外,标签必须增加版本,必要时将 PV 更改为 EV。

我想尽可能减少用户交互。一键构建脚本(Spolsky 是上帝),一切都完成了,无需增加版本,设置从哪里获取文件和类似的东西。

批处理脚本是最好的方法吗?我应该用 msbuild 做一些功能吗?还有其他选择吗?

不需要特定的代码,现在我只需要一种方法来改进它,即使它不会造成伤害。

Tnx, 马尔科

【问题讨论】:

    标签: msbuild build batch-file


    【解决方案1】:

    由于您已经有一个构建系统(尽管其中一些目前是“手动”的),所以无论您做什么,都不要从头开始。

    (1) 确保您有一个可以工作的测试机(或虚拟机)。因此,您可以进行更改和改进,而不必担心会破坏任何东西。

    (2) 将所有您的构建脚本和工具置于版本控制中,而不仅仅是源代码。然后,当您进行更改时,看看它们是否有效。如果有,则将它们保存到版本控制中。如果他们不这样做,则将其回滚。

    (3) 一次选择一个区域进行工作。不要试图一次做所有事情。无论您使用什么构建系统,从大量手动工作到“一键式”都需要时间。

    【讨论】:

      【解决方案2】:

      听起来您想要一个持续集成解决方案,例如CC.Net。它有配置选项来做你想做的所有事情,还有一个很好的社区来回答问题。

      另外,批处理脚本可能不是一个好的选择。复杂的构建和集成工具将允许您将参数输入构建​​并为不同的环境(测试、生产等)创建不同的构建。批处理脚本将涉及大量的手工编码和粘合。

      【讨论】:

        猜你喜欢
        • 2013-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-13
        • 1970-01-01
        • 1970-01-01
        • 2012-07-16
        • 2017-01-05
        相关资源
        最近更新 更多