写点什么

AWS CodeBuild 引入了 Docker Server 功能来加速 CI/CD 管道

作者:Craig Risi

  • 2025-06-14
    北京
  • 本文字数:1210 字

    阅读完需:约 4 分钟

大小:602.38K时长:03:25
AWS CodeBuild引入了Docker Server功能来加速CI/CD管道

2025 年 5 月 15 日,AWS宣布对其CodeBuild服务进行重大增强:Docker Server能力。这项新功能允许开发者在他们的 CodeBuild 项目中配置一个专用且持久的 Docker 服务器,旨在简化和加快 Docker 镜像的构建过程。


传统上,在 CI/CD 管道中构建 Docker 镜像可能很耗时,特别是处理多层镜像时。通过 Docker Server 功能,AWS 通过将镜像构建集中到远程主机来解决这一挑战。这种方法通过维护持久的 Docker 层缓存来减少等待时间并提高整体效率。实际上,AWS 报告称,使用这项功能时,构建时间大幅减少了。


持久的 Docker 服务器支持多个并发构建操作,所有构建都受益于共享的集中式缓存。这种设置不仅加速了构建过程,还确保了构建之间的一致性,这对于维护可靠的部署管道至关重要。


为了利用这种功能,开发者可以在他们的 CodeBuild 项目设置中启用 Docker Server 选项。一旦激活,CodeBuild 将为专用的 Docker 服务器提供持久存储,从而实现更快、更高效的构建。


要在 AWS CodeBuild 中设置新的 Docker Server 功能(详见AWS博客),首先要创建一个新的 CodeBuild 项目,或者在 AWS 管理控制台中编辑现有的项目。在环境配置中,选择“Managed image”并选择 Amazon Linux 2 作为操作系统。然后,在新的 Docker 配置部分(适用于支持的标准镜像,如 aws/codebuild/standard:7.0 或更高版本),启用“Docker Server mode”选项。这激活了一个轻量级的 Docker 守护进程,并且没有通常与 Docker-in-Docker(DinD)相关的性能缺陷。接下来,更新你的buildspec.yml文件以包含 Docker 命令——例如,构建和推送镜像到 Amazon ECR——就像你在本地 Docker 设置中所做的那样。


指南提醒你,要确保 CodeBuild 使用的 IAM 角色具有与 Amazon ECR 等服务交互的必要权限。配置好一切后,就可以触发构建了。


AWS CodeBuild 中引入的 Docker Server 功能在开发者和 DevOps 专业人士中引发了一些讨论。虽然大家对显著减少的构建时间表示赞赏,但目前它与基础设施即代码工具的集成方面存在限制。


例如,AWS Cloud Development Kit(CDK)存储库中的一个 GitHub 问题突出显示:


“到目前为止,AWS CDK 还不支持该功能,因为 CloudFormation 还没有公开它。CDK 只能在 CloudFormation 提供支持后才能提供支持。”


这表明,尽管这项功能很有前景,但在 CloudFormation 和 CDK 等工具中提供全面支持之前,它的采用可能会受到阻碍。


尽管存在这些集成上的挑战,Docker Server 功能因其性能改进而受到赞誉。在官方AWS博客文章中,Donnie Prakoso 分享了基准测试结果,表明使用此功能时,构建时间减少了 98%,从近 25 分钟减少到仅 16 秒。


这项新功能与现有解决方案竞争,如 Docker Inc 的Docker Build Cloud、GCP 的Cloud BuildGitHub Actions Docker Layering


AWS CodeBuild 的这项增强强调了 AWS 致力于提高开发者生产力和优化 CI/CD 工作流程的承诺。通过减少构建时间和简化镜像创建过程,Docker Server 功能使开发团队能够更快速、更可靠地部署应用程序。


原文链接:

https://www.infoq.com/news/2025/06/codebuild-docker-server/

2025-06-14 14:005650

评论

发布
暂无评论

一个比Postman好用的工具,不试一下?

Liam

前端 后端 Jmeter Postman swagger

天翼云战略发布“5G+天翼云+AI”三生万物 赋能5G时代数字化转型升级

天翼云开发者社区

Docker 实战教程之从入门到提高 (八)

汪子熙

Docker 容器 docker image 容器镜像 4月月更

怎么做App分发?

InfoQ IT百科

百尺竿头更进一步 – Amazon Aurora 的读写能力扩展之 ShardingSphere-Proxy 篇

亚马逊云科技 (Amazon Web Services)

Tech 专栏

java高级用法之:JNA中的回调

程序那些事

Java Netty 程序那些事 4月月更

一文详解:企业数字化的未来基石——微服务

穿过生命散发芬芳

微服务 4月月更

TASKCTL 作业流程无触发设计

敏捷调度TASKCTL

大数据 DevOps 分布式 自动化部署 ETL任务

新基建下纵览全局,2+4+31+X实力出镜

天翼云开发者社区

云计算 云技术

容器化应用:我们都经历了什么

Rayzh

Docker Kubernetes 云原生 Cloud Native

数据连接一切,开启融合数据云新时代——星环科技春季新品发布周盛大开启

星环科技

真香!盘点云主机三种典型应用场景

天翼云开发者社区

云主机

不care工具,在大数据平台中Hive能自动处理SQL

华为云开发者联盟

sql 大数据 mapreduce hive 数据分析

如何提升研发效能实现 10 倍研发效能提升

阿里云云效

云计算 阿里云 云原生 研发效能 研发

【MARS TALK 05】今日头条 App 基于火山引擎MARS研发流程最佳实践

字节跳动终端技术

android 今日头条 字节跳动 研发

App分发是什么意思?

InfoQ IT百科

Android C++系列:C++最佳实践5 const

轻口味

c++ android ndk jni 4月月更

IM开发技术分享:浅谈IM系统中离线消息、历史消息的最佳实践

JackJiang

网络编程 TCP协议 即时通讯IM im开发

Carina 的根基与诞生背景|深入了解 Carina 系列 第一期

BoCloud博云

开源 本地存储

Hoo虎符研究院 |ETH2.0合并在即 速来围观流动性质押赛道的潜力项目

区块链前沿News

eth 虎符 Hoo 虎符交易所

TASKCTL 容器签出失败解决方法

敏捷调度TASKCTL

大数据 DevOps 分布式 ETL 自动化运维

App能收集哪些个人信息?

InfoQ IT百科

TASKCTL 作业调度节点数超规格处理方法

敏捷调度TASKCTL

开源 DevOps 分布式 方法论 敏捷开发

中国云终端市场发展报告发布天翼云稳居领导者地位

天翼云开发者社区

案例 认证

厉害了!天翼云电脑开启5G商用第一站

天翼云开发者社区

深入JVM内置锁 synchronized 底层

janyxe

JVM synchronized synchronized锁升级过程

Carina 本地存储入选 CNCF 云原生全景图

BoCloud博云

开源 cncf 本地存储

Envoy熔断限流实践(一)基于Rainbond插件实现熔断

北京好雨科技有限公司

Kubernetes PaaS envoy rainbond

如何应对“科技人才热”?华为云联合慧科集团加速培养模式创新

华为云开发者联盟

教育 华为云 高校 华为云路网数字化服务 慧科

GPU市场规模和各子市场趋势分析

Finovy Cloud

人工智能 gpu

毕设:设计电商秒杀系统

王大胖

AWS CodeBuild引入了Docker Server功能来加速CI/CD管道_云计算_InfoQ精选文章