我正在使用一台服务器连续和夜间构建同一个项目;但是我希望夜间构建只在白天存在修改时才构建。我希望通过约束两个版本使用相同的工作文件夹来实现这一目标。
我正在考虑的两个选项是:
轮询连续构建,只有在连续构建发生时才构建每晚构建 - 可能使用一些令牌系统(连续构建集令牌,每晚清除令牌)。
运行预建任务以将源代码还原为上次构建时间
我倾向于第二个选项,因为它解耦了构建脚本,但它似乎是一个更难的任务。
这样做的建议和提示将不胜感激!
已添加信息:
CI构建是快速构建的 解决方案在一个配置和 也许会运行一些快速的单元测试
每晚构建清理构建 环境,构建软件,打包成一个 安装程序,运行扩展测试,标签 源代码存储库,部署 安装程序到服务器共享 手动测试人员接听和发送电子邮件 测试团队是一个可测试的构建 已经成了。
我只想要 如果有的话,每晚都会发生 在白天进行的任何检查,以便测试人员不会受到基本相同构建的重复电子邮件的困扰。
答案 0 :(得分:3)
我可能过度简化了这项任务,但你不能简单地在项目上设置两个触发器吗?连续构建的一个间隔触发器和一个带有每晚构建的IfModificationExists条件的调度触发器。
<triggers>
<intervalTrigger seconds="60" name="Continuous" />
<scheduleTrigger time="23:30" buildCondition="IfModificationExists" name="Scheduled">
<weekDays>
<weekDay>Monday</weekDay>
</weekDays>
</scheduleTrigger>
</triggers>
答案 1 :(得分:1)
我对我的新解决方案感到满意......
我使用带有scheduleTrigger的MultiTrigger和每晚构建的prjectTrigger(更好地调用完整版本)和WriteModification / ReadModification对来传播修改历史记录,如this question。