【发布时间】:2010-12-01 12:11:57
【问题描述】:
有没有人在一个和另一个上有任何 cmets。
我们正在考虑尝试自动化我们的发布过程,从开发到测试再到 uat 再到生产,包括运行单元测试、进行代码审查以及对允许谁将构建从 UAT 推送到生产中执行权限。
【问题讨论】:
-
go标签指的是Go编程语言。
-
投票只为回答它的人的水平:)
有没有人在一个和另一个上有任何 cmets。
我们正在考虑尝试自动化我们的发布过程,从开发到测试再到 uat 再到生产,包括运行单元测试、进行代码审查以及对允许谁将构建从 UAT 推送到生产中执行权限。
【问题讨论】:
免责声明:我是 Bamboo 的产品经理
@Bernard:您能否提供更多有关您的流程的详细信息?
Bamboo 2.7 是我们的第一个版本,它允许您将构建划分为不同的阶段并在阶段内并行执行作业。这可以显着改善构建的整体周转时间。我们目前正在研究工件传递,这将允许您在不同阶段之间传递构建工件。同样,这将减少整体构建时间,并且是迈向持续部署过程的又一重要步骤。
很遗憾,我们目前没有一种很好的“开箱即用”方式来对构建的某些部分强制执行权限。同样,有一些方法可以通过插件和以某种方式设置您的构建来解决这个问题。但是如果不详细了解您的流程,就很难提供建议。如果您愿意与我们分享您的流程细节,我很想亲自与您交谈(atlassian dot com 的 jens)。
@jgritty:您指出的问题部分是我们的 Perforce 集成的已知问题,部分似乎是未知错误。请随时在 support.@atlassian.com 上创建支持请求或在 jira.atlassian.com 上提出错误报告。
由于 Perforce 在 Bamboo 用户中不太常用(与 CVS 和 SVN 相比),因此我们通常很少收到有关它的反馈,也很少听到有关现有问题的信息。请直接向我们提出问题,我们将尽最大努力在即将发布的版本中解决这些问题。
干杯,
延斯·舒马赫
【讨论】:
我从未听说过 Go,但我可以告诉你 Bamboo 有一些严重的怪癖。根据您的源代码控制系统,您的里程可能会有所不同。
它需要一种最小公分母方法来处理它所连接的所有 SCM,因此对于使用 perforce 的我们来说,我们失去了一些我们应该免费获得的东西。
以下是一些尚未解决的烦人问题:
设置构建代理以使用特定客户端(当然,grr 必须已经存在)。 现在假设客户端植根于 c:\buildarea。 您必须手动创建 c:\buildarea 文件夹,否则代理会给您一些关于无法将文件提取到客户端根目录的荒谬错误。 显然 'p4 sync -c YOURCLIENT' 会这样做,但 Bamboo 会做一些愚蠢的事情。
它不能做的另一件事是从现有标签正确构建。假设您有一个跨平台构建,并且您想从相同的更改列表/标签构建 linux 和 windows,在 Bamboo 中没有简单的方法可以做到这一点。您可以同时启动构建并祈祷。您可以让一个同步出另一个文件,但无法使用标签进行构建。
最后一点有点愚蠢(但并不可怕)是它假设每个人都以它“标记”构建的方式使用 CVS。当构建包含大量更改列表时,它不仅将其称为更改列表并将其编号一次,它还会列出更改列表中每个文件的“版本号”。显然,这不会破坏交易,只是对 p4 用户来说有点奇怪。
总而言之,这些问题都没有杀死我们,我们每天使用它进行数百次构建,并且在任何给定时间都有大约 200 个构建计划处于活动状态。我确信我可以想到其他问题,但很多事情都已经解决了。
【讨论】:
@Bernard:我在 ThoughtWorks 工作,使用 Go (Cruise) 的经验比使用 Bamboo 的经验多,所以我现在就为您提供有关 Go 解决您的问题的信息
与市场上的许多工具不同,Go 提供了对触发构建、环境建模、并行构建的聚合结果、自动发布工件的简便性以及自动更新构建代理之间的关系的可见性
@jgritty: Go is the successor to Cruise 来自 ThoughtWorks Studios。
【讨论】:
我使用过 Bamboo/TeamCity/Jenkins/etc 并最近针对标准 CI 服务器审查了 ThoughWorks Go。
我真的很想看看他们是否解决了团队管理和发布问题。我个人最喜欢 TeamCity,但给了 Go 一个机会。老实说,我有点失望,作为一个纯粹的构建服务器,它没有 TeamCity/Bamboo 先进。它缺乏对关键 SCM 和构建工具的支持。此外,大多数构建服务器都对 FindBugs/PMD/Emma/Clover/etc 等 3rd 方工具有很多支持,Go 不支持
与市场上其他产品不同的一个方面是环境的概念以及在不同环境中移动的能力。然而,这是该概念的一个非常原始的版本。
Thoughtworks 的人是世界上最优秀的人之一,并且在开发团队方面拥有丰富的经验,我希望看到更多该工具的发布,他们真正开始解决围绕软件开发过程的一些关键问题
我的快速回顾可以在这里找到
http://diarmuidmoloney.wordpress.com/2011/11/24/thoughtworks-go/
【讨论】: