BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Atlassian发布Bamboo 6.0和Bitbucket Server 5.0

| 作者 Ben Linders 关注 12 他的粉丝 ,译者 李梦 关注 0 他的粉丝 发布于 2017年6月6日. 估计阅读时间: 8 分钟 | QCon北京2018全面起航:开启与Netflix、微软、ThoughtWorks等公司的技术创新之路!

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

Atlassian发布了Bamboo和Bitbucket Server的新版本,这两项工具旨在支持企业的DevOps。新功能包括代码配置(configuration as code)、增强的构建控制和构建进度监控。

在“Bitbucket Server 5.0 & Bamboo 6.0: Bringing DevOps to the Enterprise”这篇博文中,Atlassian对新产品进行了介绍。

在企业中采用DevOps,不仅仅意味着运营和开发之间更好的沟通、现代化的持续集成实践或者恰当的版本控制类型。合规性和规模也同样重要。工具必须能提供自由度和结构化、伸缩性和性能,但这些通常难以并存。

Atlassian工具拥有独一无二的能力,它可以在实现DevOps工作流的同时确保可追溯性、可用性和安全性都保持不变。在Bitbucket Server和 Data Center 5.0以及Bamboo 6.0中,我们使用了一个用于验证代码提交者的Git钩子,并更新了智能镜像,以此来提升产品的能力。

关于Bamboo 6.0和Bitbucket Server 5.0的主要变化,以及这些变化给正在应用DevOps的企业带来怎样的好处,InfoQ专程采访了在Atlassian负责Bamboo业务的Alison Huselid。

InfoQ:Bamboo 6.0的主要变化是什么?

Alison Huselid:Bamboo 6.x系列的关注点在于为企业带来现代化的持续集成实践,比如代码配置。另外,工作流的增强(例如与Bitbucket深度集成)也为团队提升了速度,并且可以更轻松地实施DevOps实践。我们在Bamboo 6.0引入了以下内容。

  • Bamboo Specs,可以通过代码配置的方式定义Bamboo构建计划,这使得企业软件开发更加现代化。也在开发过程中给予开发者更多的控制权,消除团队间的耦合或者避免在代码和构建系统之间来回切换。
  • 与Bitbucket Server的深度集成包括在Bitbucket拉取请求创建时触发Bamboo构建、在Bitbucket中查看正在进行的构建状态以及在Bamboo中创建和查看拉取请求。通过这些增强,开发者在启动构建时获得了更多的控制权,而且可以从Bitbucket内部监控进度。
  • 对xCode和Fastlane的官方支持,让开发者可以在一个构建工具中构建和测试所有应用。

InfoQ:通过代码配置的方式来定义Bamboo计划,它的原理是什么?

Huselid:Bamboo提供了一个Bamboo Specs库,它有一组API可以用于在IDE中以代码的方式编写配置信息,还有一个Bamboo Specs Runner Maven插件,可以用它将计划部署到一个Bamboo服务器上。

Bamboo库是用Java编写的。这意味着可以用任意高层次的JVM语言编写代码来实现与Java的互操作,比如Groovy、Scala或者Kotlin。即便你不熟悉Java,培训过程也将引导你直接进入工作环境,像Python、C++或C#这些语言的用户也会熟悉如何定义计划。

源自Bamboo文档的教程“Create a simple plan with Bamboo Specs”用实例阐述了工作流程。

关于如何用Bamboo Specs创建一个新计划,这里还有个非常简短的示例:

Plan plan = new Plan(project, "My Plan One", "PLAN1")
    .description("This is an example of a plan")
    .enabled(true)
    .stages(stage1)
    .triggers(scheduledTrigger)
    .planBranchManagement(planBranchManagement)
    .dependencies(planDependencies)
    .linkedRepositories(myGitRepo)
    .planRepositories(myBitbucketRepo)
    .variables(var1, var2);

InfoQ:通过代码来配置计划有什么好处?

Huselid:通过Bamboo Specs以代码的方式来定义构建配置信息,开发团队在构建流水线上获得了更多的控制和职责。它还能简化应用构建、加速开发过程并且允许代码重用(例如能够复制计划)。如果把代码文件存储在一个版本控制系统中,还会从代码审查和版本历史中获得好处。例如,如果需要比对一个构建的早期版本(去看看出了什么问题),只要简单地运行那个时间点的构建。

InfoQ:在Bamboo与Bitbucket Server的集成中有什么新内容?

Huselid:在Bamboo 6.0中,引入了与Bitbucket Server集成的增强功能,其中包括在Bitbucket拉取请求创建时能够触发Bamboo构建、在Bitbucket中查看正在进行的构建状态以及在Bamboo中创建和查看拉取请求。

InfoQ:这些能带来什么好处?

Huselid:Bamboo和Bitbucket Server之间更深层级的集成在最需要它的地方带来了重要的改进。例如,开发者可以在Bitbucket用户界面里看到是何时触发的Bamboo构建,或者在研究Bamboo中的构建结果时创建一个Bitbucket拉取请求。智能构建触发器,如在拉取请求创建时自动创建一个Bamboo计划分支,对于构建的时间和方式给予了更多的控制。这样可以释放Bamboo构建代理资源,并且减少了不必要的构建噪音。更棒的是,如果还没有用过计划分支,现在就能用了,而且要知道每一个拉取请求都将自动构建。

InfoQ:Bamboo的下一步计划是什么?

Huselid:未来的Bamboo将继续把新一代CI/CD实践带给企业,它将提供更多节约时间的功能,并且不需要在规模和安全性上妥协。为此将重点关注以下几个领域:Bamboo Specs的功能增强、与Atlassian工具和其他DevOps工具集的深度集成以及如何满足企业组织的CI/CD需求。

查看英文原文Atlassian Announces Bamboo 6.0 and Bitbucket Server 5.0


感谢薛命灯对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT