我们在 Jenkins 服务器上运行每晚构建,我们使用 ClearCase 作为源代码控制管理。
由于 ClearCase 是以文件为中心的,因此文件签入会一一操作。与 SVN 或 Git(以存储库为中心)相反,开发人员的修改不是原子提交的。
这在夜间没有问题,因为开发人员不再活跃,并且 ClearCase 服务器在凌晨 1 点锁定。
但这里有一个示例,说明当开发人员白天活跃时(假设构建每半小时运行一次)可能会引起关注:
10:55 AM - Developer1 checks in element1
10:55 AM - Developer1 checks in element2
10:56 AM - Developer1 checks in element3
11:00 AM - ### Jenkins runs BUILD #1 ### <-- succeeds
11:29 AM - Developer2 checks in element1
11:29 AM - Developer2 checks in element2
11:30 AM - ### Jenkins runs BUILD #2 ### <-- fails (element3 is missing)
11:29 AM - Developer2 checks in element3
因此, ClearCase 是否值得考虑发布构建(也称为“ASAP 构建”或字面意思是“持续集成”),还是我们注定永远满足于每晚构建?