VSoft Technologies博客

rss

VSoft Technologies博客——关于我们的产品和软件开发的文章。

使用Continua CI运行每日构建

一般来说,在VSoft,我们喜欢做构建。因此,我们构建每个提交(commit),这允许我们回顾构建历史,查看是哪些更改导致了构建的失败。我们使用手动的阶段推进,以防止构建在我们尚未认定其已准备好的状态下被发布。

Build promotion

许多团队喜欢在每天结束时或在夜间触发构建,将当天的工作编译到一个单独的包中。

对于这种情况,显而易见的选择是使用每日触发器(Daily Trigger)。这可以设置为在每天的特定时间运行构建,或者仅在工作日运行——对于那些有着另类生活方式的人来说,甚至可以设置为仅在周末运行。

Build promotion

但是,如果团队正好迎来了设计日,或者正在进行团队建设之旅,或者干脆放弃这个想法,需要参加一天的会议呢?没有做任何提交,但是即使没有更改,每天的构建仍然运行。一种可能的解决方案是使用丢弃(Discard)条件。

Discard condition

如果自上次构建以来没有任何更改,将阻止构建的运行。

Build being discarded

最近,Continua CI增加了另一个选项。存储库触发器(Repository Trigger)上的静默期(Quiet Period)设置现在允许您输入一个结束时间(End Time),而不是间隔(Interval)。

Quiet period end time on repository trigger

任何由存储库更改触发的构建都会在当天一直排队,直到指定的结束时间。当天添加到配置存储库的任何其他更改都将添加到排队的构建中,当到达结束时间时,构建将基于新近的更改集执行。

Build waiting on quiet period end time

如果您要提前回家,并且想把事情部署好,您可以点击一个按钮迅速结束静默期。以这种方式使用存储库触发器意味着您可以忽略对某些文件的更改、带有特定注释的更改集或来自某些用户的提交。

Trigger with user exclusion

——就像那些把自己的提交计数视为一个关键的绩效指标的亲力亲为的经理。

'When the PM fixes a bug' cartoon by commitstrip.com