ThoughtWorks Go 与 Atlassian Bamboo 对比
有谁对其中之一有任何评论吗?
我们正在考虑尝试自动化我们的发布过程,从开发到测试,再到 uat 到生产,包括运行单元测试、进行代码审查以及对谁可以将构建从 UAT 推入生产进行强制执行。
Does anyone have any comments on one vs the other.
We're looking at trying to automate our release process from dev into test into uat into production, including running unit tests, having code reviews and enforcing permissions on who is allowed to push builds from UAT into production.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
免责声明:我是 Bamboo 的产品经理
@Bernard:您能否提供有关您的流程的更多详细信息?
Bamboo 2.7 是我们的第一个版本,允许您将构建划分为不同的阶段并并行执行阶段内的作业。这可以显着提高构建的总体周转时间。我们目前正在致力于工件传递,这将允许您在不同阶段之间传递构建工件。同样,这将减少总体构建时间,并且是迈向持续部署过程的另一个重要步骤。
不幸的是,我们目前没有一种好的“开箱即用”方法来对构建的某些部分强制执行权限。同样,有一些方法可以通过插件和以某种方式设置构建来解决这个问题。但如果不更详细地了解您的流程,就很难提供建议。如果您愿意与我们分享您的流程细节,我很乐意亲自与您交谈(atlassian dot com 的 jens)。
@jgritty:您指出的问题部分是我们 Perforce 集成的已知问题,部分似乎是未知错误。请随时在[email protected]上创建支持请求或提出支持请求jira.atlassian.com 上的错误报告。
由于 Perforce 在 Bamboo 用户中不太常用(与 CVS 和 SVN 相比),因此我们通常得到的有关它的反馈较少,并且听到的有关现有问题的信息也较少。请直接向我们提出问题,我们将尽力在即将发布的版本之一中解决这些问题。
干杯,
延斯·舒马赫
DISCLAIMER: I am the Product Manager of Bamboo
@Bernard: could you provide some more details around your process?
Bamboo 2.7 is our first release that allows you to divide your Build into different Stages and execute Jobs within Stages in parallel. This can significantly improve the overall turnaround time of your Builds. We are currently working on artifact passing, which will allow you to pass build artifacts between different stages. Again, this will reduce the overall build time and is another important step towards a Continuous Deployment process.
Unfortunately we currently do not have a good "out of the box" way to enforce permissions on certain parts of the build. Again, there are ways to work around this with plugins and by setting up your Build in a certain way. But it's hard to provide suggestions without knowing your process in more details. If you are willing to share the details of your process with us, I would love to speak to you in person (jens at atlassian dot com).
@jgritty: The problems you are pointing out are partially know issues with our Perforce integration and partially seem to be unknown bugs. Please feel free to create a support request on [email protected] or raise a bug report on jira.atlassian.com.
Since Perforce is less commonly used (compared to CVS & SVN) amongst Bamboo users, we generally get less feedback about it and hear less about existing issues. Please raise problems directly with us and we will do our best to fix them in one of our upcoming releases.
Cheers,
Jens Schumacher
我从未听说过 Go,但我可以告诉你 Bamboo 有一些严重的怪癖。根据您的源代码控制系统,您的里程可能会有所不同。
它采用一种最小公分母方法来处理它所连接的所有 SCM,因此对于使用 perforce 的我们来说,我们失去了一些我们应该免费获得的东西。
以下是一些尚未解决的烦人问题:
设置构建代理以使用特定客户端(当然必须已经存在,grr)。
现在假设客户端的根目录为 c:\buildarea。
您必须手动创建 c:\buildarea 文件夹,否则代理会给您一些关于无法将文件提取到客户端根目录的荒谬错误。
显然“p4sync -c YOURCLIENT”可以做到这一点,但 Bamboo 做了一些更愚蠢的事情。
它不能做的另一件事是从现有标签正确构建。假设您有一个跨平台构建,并且您想从相同的更改列表/标签构建 Linux 和 Windows,那么在 Bamboo 中没有简单的方法可以做到这一点。您可以同时启动构建并祈祷。您可以让其中一个同步另一个的文件,但无法使用标签进行构建。
最后一件事有点愚蠢(但并不可怕),它假设每个人都按照它“标记”构建的方式使用 CVS。当构建包含大量变更列表时,它不只是将其称为变更列表并编号一次,而是列出变更列表中每个文件的“版本号”。显然,这并不是什么大问题,只是对 p4 用户来说有点奇怪。
总而言之,这些问题都没有让我们丧命,我们每天使用它进行数百个构建,并且在任何给定时间都有大约 200 个活跃的构建计划。我确信我可以想到其他问题,但很多事情已经得到解决。
I've never heard of Go, but I can tell you that Bamboo has some severe quirks. Depending on your source control system, your mileage may vary.
It takes sort of a least common denominator approach to dealing with all the SCMs it hooks to, so for us using perforce, we lose out on some things we should be getting for free.
Here are a couple of the annoying things that still have not been fixed:
Setup a build agent to use a particular client (must already exist, of course, grr).
Now suppose the client is rooted at c:\buildarea.
You MUST manually create the c:\buildarea folder otherwise the agent will give you some ridiculous error about not being able to extract the files to the client root.
Obviously 'p4 sync -c YOURCLIENT' would do that, but Bamboo does something dumber.
Another thing that it can't do is properly build from an existing label. Let's say you have a cross platform build, and you want to build say linux and windows both from the same exact changelist/label, there is no trivial way to do that in Bamboo. You can fire off the builds at the same time and pray. You can have one sync out the files for the other, but there is no way to build using a label.
One last thing that is a little dumb (but not terrible) is the way it sort of assumes everyone uses CVS in the way that it 'tags' builds. When a build contains a large number of changelists, rather than just call it a changelist and number it once, it lists the "version #" for every file in a changelist. Obviously, not a deal breaker, just a little odd for p4 users.
All in all, none of these issues have killed us, and we use it for several hundred builds per day, and have somewhere in the order of 200 build plans active at any given time. I'm sure I could think of other issues, but many things have been addressed.
@Bernard:我在 ThoughtWorks 工作,使用 Go (Cruise) 的经验比 Bamboo 丰富得多,所以我现在就为您提供有关 Go 解决您的查询的信息
与市场上的许多工具不同,Go 提供了触发构建、环境建模、聚合并行构建结果、轻松自动发布工件和自动更新构建代理之间关系的可见性
@jgritty: Go 是 ThoughtWorks Studios 的 Cruise 的继承者。
@Bernard: I work at ThoughtWorks and have much more experience using Go (Cruise) than Bamboo, so I'll just give you info on now Go addresses your query
Unlike a lot of tools in the market, Go provides visibility into relationships between triggered builds, environment modeling, aggregating results from parallel builds, ease of auto-publishing artifacts, and auto-updating build agents
@jgritty: Go is the successor to Cruise from ThoughtWorks Studios.
我使用过 Bamboo/TeamCity/Jenkins/etc,并最近针对标准 CI 服务器回顾了 ThoughWorks Go。
我真的很想看看他们是否已经解决了团队管理和发布问题。我个人最喜欢 TeamCity,但也尝试了一下 Go。说实话我有点失望,作为一个纯粹的构建服务器,它没有 TeamCity/Bamboo 先进。它缺乏对关键 SCM 和构建工具的支持。此外,大多数构建服务器都对 3rd 方工具有很多支持,例如 FindBugs/PMD/Emma/Clover/ 等,Go 则不支持。
与市场上其他产品不同的一个领域是环境的概念和能力穿越不同的环境。然而,这是这个概念的一个非常原始的版本。
Thoughtworks 的人员是世界上最优秀的人员之一,在开发团队方面拥有丰富的经验,我希望看到该工具的更多版本,他们真正开始解决软件开发过程中的一些关键问题。
我的快速评论可以找到这里
http://diarmuidmoloney.wordpress.com/2011/11/24/thoughtworks - 去/
I have used Bamboo/TeamCity/Jenkins/etc and reviewed ThoughWorks Go recently against standard CI servers.
I was really interested in seeing if they had cracked the team management and release problem. I personally like TeamCity best but gave Go a shot. I was a little disappointed to be honest, as a pure build server it is no where as advanced as TeamCity/Bamboo. It lacked support for key SCMs and build tools. Also most build server have a lot of support for 3rd Party tools such as FindBugs/PMD/Emma/Clover/etc, Go does not
The one area that is different from other products on the market is the the concept of environments and the ability to move through the different environments. However it was a very primitive version of the concept.
The guys at Thoughtworks are some of the best in the world and have a wealth of experience on development teams and I expect to see more releases of the tool where they really start to address some key problems around software development process
My quick review can be found here
http://diarmuidmoloney.wordpress.com/2011/11/24/thoughtworks-go/