构build持续集成服务器时需要考虑的事项?

我是新来的持续整合,但马上意识到它的价值,我想立刻build立一个。 我已经和TeamCity一起玩过,并且在虚拟机上工作。

现在,我不想在另一个系统上花钱,所以我打算在一台更快的机器(即我的开发系统)上再次做VM。 有几个问题想到这一点:

  • 硬盘分配 – 应该多大? 当然,60GB似乎绰绰有余,但人们也曾经认为,我们永远不会需要超过64KB的RAM
  • 备份 – 备份集成服务器甚至非常重要吗? 当然,我想这很好,所以不需要再经历整个configuration过程,但是我认为就是这样。 每当我进行configuration更改时,我都可以快照我的虚拟机,然后仅对应用程序进行备份(忽略buildAgent)。
  • 迁移 – 如果我想离开我的开发系统上的一个虚拟机,到一个新的服务器,甚至可能运行Windows Server 2003,是不是很容易? 也许这是一个最适合StackOverflow的特殊点。

据我了解你的观点:

  1. 硬盘使用量取决于代码库的大小,提交的次数以及生成次数。

  2. 备份只应包含configuration和构build脚本。

  3. 从CI服务器的nix版本迁移到win版本(例如,从Linux版本TeamCity迁移到Windows版本的TeamCity时),迁移可能是最容易的。 CI系统没有实现一些抽象的持续集成规范的标准。 而如果你打算从TeamCity迁移到Atlassian Bamboo,从CruiseControl到Hudson就像是从头开始设置CI系统。 他们唯一通用的东西是VSC存储库从中获取数据。