Amazon CodeCatalyst
集成源代码仓库、CI/CD 流水线、问题管理和云开发环境,覆盖团队开发全生命周期的统一开发平台
概述
Amazon CodeCatalyst 是一项将软件开发所需工具集成到单一平台的服务。从项目初始化到编码、构建、测试、部署的全流程均可在一个界面中管理。它提供蓝图项目模板、基于浏览器的 Dev Environments、YAML 定义的工作流引擎,并通过与 AWS 账户的集成支持 CloudFormation 或 CDK 的基础设施部署。通过空间和项目的层级结构反映组织的团队体制,提供基于角色的访问控制。
通过蓝图初始化项目
CodeCatalyst 的蓝图是定义项目模板的模板机制。选择蓝图后,源代码仓库、CI/CD 工作流、Dev Environment 配置和问题看板会自动创建。AWS 提供的官方蓝图包含无服务器 API(Lambda + API Gateway)、React SPA、三层 Web 应用等典型架构。创建自定义蓝图可将组织特有的项目结构(目录结构、Linter 配置、安全扫描集成、审批流程定义)标准化。蓝图基于 Projen 构建,使用 TypeScript 以编程方式定义项目结构。通过蓝图版本管理,还可将模板更新逐步应用到现有项目。新成员加入团队时,只需从蓝图创建项目,即可在开发环境、流水线和编码规范全部就绪的状态下开始开发。
Dev Environments 与云端 IDE
Dev Environments 是在云端即时构建开发环境的功能。在仓库的 devfile(devfile.yaml)中定义开发环境后,可从浏览器或本地 IDE 一键启动环境。支持 VS Code、JetBrains IDE、AWS Cloud9 连接,开发者可继续使用熟悉的编辑器。环境计算规格从 2 vCPU / 4 GB 到 16 vCPU / 32 GB 可选,构建较重的项目可分配更大实例。devfile 中可定义容器镜像、环境变量、端口转发和启动命令,数据库或消息队列等依赖服务也可作为容器同时启动。持久存储确保环境停止后工作文件和分支状态得以保留。非活动时自动停止(默认 15 分钟)以控制成本,恢复时数十秒即可回到上次状态。从根本上消除因本地环境差异导致的在我机器上能跑问题,为整个团队提供一致的开发体验。
通过工作流构建 CI/CD 流水线
CodeCatalyst 的工作流是通过 YAML 文件定义构建、测试和部署流水线的 CI/CD 引擎。将工作流定义放置在仓库的 .codecatalyst/workflows/ 目录中,推送或拉取请求时自动执行。可用的操作包括构建(任意 Shell 命令)、测试(自动收集报告)、CDK 部署、CloudFormation 部署、S3 发布等。通过环境资源管理与 AWS 账户的连接,可将开发、预发布、生产等不同环境绑定到不同的 AWS 账户。插入审批门可要求在生产部署前获得指定成员的批准。计算类型可选 Linux 和 Windows,构建所需的运行时(Node.js、Python、Java、Go、.NET)在操作中指定。通过制品传递,可构建将构建操作的输出传递给部署操作的流水线。免费套餐包含每月 2,000 分钟构建时间,小型团队无需额外费用即可运行 CI/CD。