AWS CodeBuild 引入对 GitLab 自托管运行器的支持
AWS CodeBuild 近期宣布支持 GitLab 自托管运行器,进一步提升了持续集成和持续交付(CI/CD)能力。这一新功能允许客户配置其 CodeBuild 项目,直接在 CodeBuild 的临时主机上接收并执行 GitLab CI/CD 作业事件。
主要优势
- 原生 AWS 集成:GitLab 作业可以无缝集成 AWS 服务,如 IAM、AWS Secrets Manager、AWS CloudTrail 和 Amazon VPC,提升安全性和便利性。
- 计算灵活性:客户可以使用 CodeBuild 提供的所有计算平台,包括 Lambda 函数、GPU 增强实例和基于 Arm 的实例,根据作业需求优化资源分配。
- 全球可用性:该集成在 CodeBuild 支持的所有区域均可使用。
实现步骤
- 设置 Webhook:用户需在 CodeBuild 项目中设置 Webhook,并在 GitLab CI YAML 文件中更新以使用托管在 CodeBuild 机器上的自托管运行器。
- OAuth 连接:使用 OAuth 将 CodeBuild 连接到 GitLab,需要额外权限如
create_runner和manage_runner。 - 事件过滤:CodeBuild 仅处理包含
WORKFLOW_JOB_QUEUED事件过滤器的 Webhook 的 GitLab CI/CD 管道作业事件。 - buildspec 覆盖:除非添加
buildspec-override:true标签,否则 CodeBuild 将忽略项目中的 buildspec。
运行流程
当 GitLab CI/CD 管道运行时,CodeBuild 通过 Webhook 接收作业事件,并为管道中的每个作业启动一个临时 GitLab 运行器。作业完成后,运行器和相关构建过程将立即终止。
相关新闻
- GitLab CI Steps:GitLab 计划引入可重用和可组合的 CI Steps,集成到 CI/CD Catalog 中,用户可发布、取消发布、搜索和使用这些步骤。
- 组件使用可见性:GitLab 正在提供更好的组件使用可见性,帮助用户识别过时版本并采取纠正措施,促进版本控制和项目一致性。
AWS CodeBuild 更新:
- 支持在 macOS 14 Sonoma 上运行的 Apple M2 实例进行 Mac 构建。
- 自动重试构建功能,减少构建失败时的手动干预。
- 在保留容量舰队中构建 Windows Docker 镜像的支持。
这些发展展示了 CI/CD 工具和实践的持续演进,重点在于提升集成、灵活性和 DevOps 团队的易用性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。