DevOps 自动化平台 Shippable 和裸金属云服务提供商 Packet 联合发布了一种新的持续集成和交付(CI/CD)托管服务,适用于在 Arm®v8-A 架构上开发软件应用的开发人员。该解决方案支持开源和商业软件项目,用于在 Packet 提供的基于 ARM 的云服务上按需(on-demand)构建和验证软件。
在原生 ARM 支持服务尚未推出之前,开发人员构建和验证代码时需要使用模拟器,而模拟器无法检测到代码库中一些特定于架构的缺陷。现在,开源项目的 ARM 开发人员在构建并测试工作流时,可以使用 Packet 提供的基于 32 位和 64 位 ARM 设备的云服务。而商业项目可以在 Packet 云上开通(provisioning)设备,并将设备添加为 Shippable 预定的构建节点,进而采用“构建自己的ARM 节点(BYON,Bring Your Own Arm Node)”方式,使用Shippable 执行软件验证工作流。一个组织也可将自身所具有ARM 设备添加到其中。
如果一个组织出于安全原因并不希望自己的源代码脱离防火墙或是架构的可控范围,或是作业需要访问在组织网络之外无法访问的一些依赖关系,这时组织通常会选择采用BYON 方式。BYON 支持开发人员在按需节点并不提供原生支持的一些平台(例如MacOS 等)上运行作业。
就此次发布,InfoQ 采访了Shippable 的CEO Avi Cavale 。
InfoQ: 工程师需要部署到 ARM 时,除了 Ubuntu、MacOS 和 Windows 之外,还可以使用什么操作系统?
AVi Cavale:工程师可以使用 Ubuntu 的一些变种,或是 Linux、Android 等操作系统的一些变种。因此,可在 ARM 上运行多种操作系统,其中包括一些专为 ARM 编写的操作系统。ARM 是移动计算的标准选择。此外,对于那些需要考虑能耗和芯片大小情况,例如物联网,同样如此。
InfoQ:Shippable 解决方案可执行哪些测试?它是否使用了其它一些工具?
Cavale:Shippable 可用于自动化软件交付的各个方面,包括各种类型的测试(单元测试、功能测试、性能测试等)、多阶段部署(Dev、测试、预上线、生产环境等)以及 IT 运维(架构开通、安全补丁等)。使用 Shippable,用户可以为这些活动创建事件驱动的工作流,实现持续交付,并且对每个活动,可以使用 Shippable 的原生功能,也支持使用一些用户用得顺手的工具。
InfoQ:Shippable 是如何与 Jira 集成的?
Cavale:用户可以在 Shippable 的界面中打开或更新 Jira 问题(issue)、报告软件缺陷,或是对更新做里程碑。
InfoQ: Packet 的 ARM 解决方法是如何与 Kubernetes 及容器技术一并工作的?
Cavale:用户可使用 Shippable 将容器部署到 Kubernetes,而 Kubernetes 是运行在 Packet 云提供的 ARM 设备上的。
InfoQ: 对终端用户,解决方案的收费是怎样的?
Cavale:Shippable 是一种免费增值服务(freemium service)。用户开始使用时,需要在 www.shippable.com 注册,这时做单个并行构建是免费的。如果用户考虑采用并行构建,就需要考虑收费计划。Shippable 对每个并行构建的收费为每月 25 美元。针对 ARM 服务,我们提供了一个设备共享池。开源项目可免费运行构建,而商业项目的收费是每个节点每月 25 美元。Shippable 也提供本地部署服务器,收费的起点是每个用户每月 20 美元。
InfoQ:ARM 具有什么独到之处?用户何时会考虑选用 ARM?
Cavale:ARM 的优点在于节能和芯片尺寸小,因此它是那些由电池供电设备的首选,也是嵌入系统和系统芯片(SoC,system-on-a-chip)的首选。ARM 生态系统目前在多个市场中得到了迅速的发展,包括移动、数据中心、物联网、人工智能、汽车、健康、智能家居和可穿戴设备等。
InfoQ:Shippable 是否已与 DevOps 工具链中的其它工具集成?如果是这样,能介绍一下有哪些工具吗?
Cavale:好的。Shippable 已经与 DevOps 工具链中 80 多种广为使用的工具集成。其中耳熟能详的包括:Docker、Kubernetes、Ansible、Terraform、Packer、Helm 和 Capistrano 等工具,Sauce Labs 和 Nouvola 等测试平台,所有的测试框架,GCP、AWS 和 Azure 等所有主要的云服务提供商,所有基于 Git 的源码控制提供商、一些软件工件(artefact)库等。我们也实现了与 Jenkins 的集成,适用于那些希望继续使用 Jenkins 实现持续集成但考虑使用更为现代的持续交付平台的用户。
查看英文原文: Shippable and Packet Collaborate on Native Arm CI/CD
评论