2010-12-01 37 views
7

有没有人有一个对其他的意见。虽然网络走到atlassian竹

我们正在考虑试图将我们从开发到测试的发布过程自动化到生产测试中,包括运行单元测试,具有代码审查和强制允许谁允许从UAT生成构建到生产的权限。

+0

发现转到标签指的是围棋的编程语言。 – peterSO 2010-12-01 22:34:57

+1

投票只是为了答复它的人的水平:) – Spedge 2011-10-12 13:06:07

回答

4

免责声明:我是竹

的产品经理

@Bernard:你能提供你周围的过程中的一些更多的细节?

  • 是UAT测试手动测试?
  • 在你的情况下推入生产意味着什么?
  • 您是否期望在部署结束时有单个生成结果?

Bamboo 2.7是我们的第一个版本,它允许你将你的版本分成不同的版本,并且在版本内并行执行作业。这可以显着提高您的构建的整体周转时间。我们正在研究工件传递,这将允许您在不同阶段之间传递构建工件。再次,这将减少总体构建时间,并且是实现持续部署过程的另一个重要步骤。

不幸的是,我们目前没有一个很好的“开箱即用”的方式来强制构建某些部分的权限。再次,有办法通过插件和以某种方式设置您的Build来解决这个问题。但如果不知道更详细的流程,很难提供建议。如果您愿意与我们分享您的流程细节,我很乐意亲自与您联系(jens at atlassian dot com)。

@jgritty:您指出的问题与我们的Perforce集成有部分已知的问题,部分似乎是未知的错误。请随时创建支持请求。@ atlassian.com或在jira.atlassian.com上提交错误报告。

由于在Bamboo用户中Perforce不太常用(与CVS & SVN相比),我们通常对此有较少反馈,并且对现有问题的了解较少。请直接向我们提出问题,我们将尽最大努力在即将发布的其中一个版本中修复这些问题。

干杯,

延斯·舒马赫

3

我从来没有听说过Go,但我可以告诉你,Bamboo有一些严重的怪癖。根据您的源代码管理系统,您的里程可能会有所不同。

它需要排序的最小公分母的方式来处理所有的SCM它挂钩,所以对我们使用Perforce公司,我们对一些事情,我们应该得到免费的亏了。

这里有一对夫妇的烦人的事情仍然没有得到解决:

设置生成代理使用特定的客户端(必须已经存在,当然,GRR)。 现在假设客户端植根于c:\ buildarea。 您必须手动创建c:\ buildarea文件夹,否则代理将给您一些关于无法将文件解压缩到客户端根目录的荒谬错误。 很显然,'p4 sync -c YOURCLIENT'会这样做,但是Bamboo做了一些事情。

它不能做的另一件事是从现有标签正确构建。假设你有一个跨平台的构建,并且你想要从同一个确切的changelist/label构建linux和windows,那么在Bamboo中这样做并不是一件简单的事情。你可以同时开始构建并祈祷。您可以为其他文件同步文件,但无法使用标签进行构建。

就是它那种假设每个人都使用CVS的,因为它“标签”构建的方式有点哑(但并不可怕)是这样的最后一两件事。当一个版本包含大量的更改列表时,而不是将其称为更改列表并编号一次,它会为更改列表中的每个文件列出“版本号”。显然,这不是一笔交易的破坏者,对于P4用户来说有点奇怪。

总而言之,没有这些问题都杀了我们,我们用它来几百每天构建,并在任何时候被激活200个建造计划,以便有地方。我确信我可以考虑其他问题,但很多事情已经得到解决。

+0

我记得还有一个主要问题。这就是我们不使用公司范围的LDAP用于Bamboo帐户的原因:http://jira.atlassian.com/browse/BAM-1199显而易见的解决方案是从一开始就使用LDAP,因为您可能会发现迁移到它未来令人头痛。 – jgritty 2010-12-17 00:59:58

3

@Bernard:我在ThoughtWorks工作,并有使用围棋(克鲁斯),比竹得多的经验,所以我只是给你的信息就立即转到地址查询

  1. “我们正在试图从我们的开发版工艺自动化为考不上UAT投产”:建模及自动化整个释放过程部署流水线的方式已经由Go概念化,并且自从其早期版本(以前称为Cruise)以来一直存在。部署管道将复杂构建分解为一系列阶段,这些阶段本身就是作业集合。这些阶段可以手动或自动触发。在管道仪表板UI本身通过环境传播时,查看和控制更改流也很容易。以下是自动部署到UAT的详细示例(http://www.thoughtworks-studios.com/go/2.0/help/rm_deploy_to_environment.html)。
  2. “包括运行单元测试,具有代码评论”: Go使您能够拆分测试套件并将它们并行运行。您还可以获得详细的报告,其中包含哪些作业失败,哪些测试失败,哪些检查打破了测试等,并通过电子邮件发送您选择的构建事件的警报。 Go也会自动发布工件,这些工件可以从报告中查看。这在侦听构建时非常有用。在Go中,实现棘轮操作非常简单(http://skizz.biz/blog/2008/03/11/fixing-broken-windows-with-ratcheting/),因此您可能会失败并不符合您编码的构建标准门槛。
  3. “并强制允许谁将许可从UAT推送到生产”的权限::您可以通过对管道进行分组来控制对项目和环境的访问权限,同时具有查看和操作权限。此外,您可以锁定允许触发构建的人员。

不同于市场上有很多的工具,围棋还可以深入了解环境建模之间触发的构建,关系,汇总结果从并行构建,便于自动发布的文物,并自动更新生成代理

来自ThoughtWorks Studios的@jgritty:Go is the successor to Cruise

2

我已经使用了Bamboo/TeamCity/Jenkins等,并且最近对标准CI服务器进行了回顾。

我真的很感兴趣,看看他们是否已经破解了团队管理和发布问题。我个人最喜欢TeamCity,但给了Go一个镜头。说实话,我有点失望,作为一个纯粹的构建服务器,它不像TeamCity/Bamboo那样先进。它缺乏对关键SCM和构建工具的支持。另外大多数构建服务器都有很多第三方工具的支持,如FindBugs/PMD/Emma/Clover /等,Go不是

与市场上其他产品不同的一个领域是环境概念以及在不同环境中移动的能力。然而,这是这个概念的一个非常原始的版本。

在ThoughtWorks的人是一些在世界上最好的,并具有了丰富的开发团队的经验,我希望看到该工具的更多版本,他们真正开始解决围绕软件开发过程中的一些关键问题

我简单回顾可以在这里

http://diarmuidmoloney.wordpress.com/2011/11/24/thoughtworks-go/