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 )关注我们。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论