代码之家  ›  专栏  ›  技术社区  ›  Rob Hunter

自上次生成标签以来,CruiseControl.NET每晚生成IfModificationExists

  •  2
  • Rob Hunter  · 技术社区  · 16 年前

    我使用一台服务器连续和每晚构建同一个项目;然而,我希望夜间构建只在白天存在修改的情况下进行构建。我希望通过两个构建都使用 同一工作文件夹

    我考虑的两个方案是:

    1. 轮询连续生成并仅在发生连续生成时生成夜间生成-可能使用某些令牌系统(连续生成设置令牌,夜间清除令牌)。

    2. 运行预生成任务以将源代码还原到上次生成时

    我倾向于第二种选择,因为它将构建脚本解耦,但这似乎是一项更困难的任务。

    建议和提示这样做将不胜感激!

    补充资料:

    解决方案在一个配置和 可能会运行一些快速的单元测试。

    夜间构建清理构建 环境,构建软件,并将其打包到 安装程序,运行扩展测试,标签 源代码存储库,部署 将安装程序安装到服务器共享中,以便 已经制作好了。

    我只想要 在白天进行任何签入,这样测试人员就不会因为本质上相同的构建而被重复的电子邮件所困扰。

    2 回复  |  直到 5 年前
        1
  •  3
  •   Trevor    16 年前

    我可能过于简化了这个任务,但你不能简单地在项目上设置两个触发器吗?一个用于连续构建的间隔触发器和一个带有IfModificationExists条件的计划触发器用于夜间构建。

    <triggers>
      <intervalTrigger seconds="60" name="Continuous" />
      <scheduleTrigger time="23:30" buildCondition="IfModificationExists" name="Scheduled">
          <weekDays>
            <weekDay>Monday</weekDay>
          </weekDays>
      </scheduleTrigger>
    </triggers>
    
        2
  •  1
  •   Community Mohan Dere    8 年前

    我对我的新解决方案很满意。。。

    我在夜间构建(最好调用完整构建)和WriteModification/ReadModification对上使用带有scheduleTrigger和prjectTrigger的MultiTrigger来传播修改历史,如中所示 this question