Amazon CodeCatalyst

A unified development platform that integrates source repositories, CI/CD pipelines, issue tracking, and cloud development environments to cover the entire team development lifecycle

Overview

Amazon CodeCatalyst is a service that unifies the tools needed for software development into a single platform. It lets you manage the entire workflow from project initialization through coding, building, testing, and deploying within one interface. It features blueprints for project templates, browser-based Dev Environments, and a YAML-defined workflow engine. Integration with AWS accounts enables infrastructure deployment via CloudFormation or CDK. A hierarchical structure of spaces and projects reflects your organization's team structure, with role-based access control for members.

Project Initialization with Blueprints

CodeCatalyst blueprints are a template mechanism that defines project scaffolding. Selecting a blueprint automatically configures a source repository, CI/CD workflow, Dev Environment settings, and an issue board. AWS-provided official blueprints include typical architectures such as serverless APIs (Lambda + API Gateway), React SPAs, and three-tier web applications. Custom blueprints let you standardize organization-specific project configurations (directory structure, linter settings, security scan integration, approval flow definitions). Blueprints are built on Projen, allowing you to programmatically define project configurations in TypeScript. Blueprint versioning enables lifecycle management where template updates can be incrementally applied to existing projects. When a new member joins the team, simply creating a project from a blueprint gives them a fully configured development environment, pipeline, and coding standards from day one.

Dev Environments and Cloud IDE

Dev Environments instantly provision development environments in the cloud. By defining the environment in a devfile (devfile.yaml) in the repository, an environment launches with a single click from a browser or local IDE. It supports connections from VS Code, JetBrains IDEs, and AWS Cloud9, letting developers use their preferred editor. Compute sizes range from 2 vCPU / 4 GB to 16 vCPU / 32 GB, allowing larger instances for build-heavy projects. The devfile can define container images, environment variables, port forwarding, and startup commands, and can simultaneously launch dependent services like databases and message queues as containers. Persistent storage preserves in-progress files and branch state even when the environment is stopped. For a systematic study of modern development workflows, books on DevOps (Amazon) are a great resource. Auto-stop on inactivity (default 15 minutes) controls costs, and resuming restores the previous state in seconds. This fundamentally eliminates the 'works on my machine' problem and delivers a consistent development experience across the entire team.

CI/CD Pipelines with Workflows

CodeCatalyst workflows are a CI/CD engine that defines build, test, and deploy pipelines in YAML files. Workflow definitions are placed in the .codecatalyst/workflows/ directory within the repository and are automatically triggered by pushes or pull requests. Available actions include build (arbitrary shell commands), test (automatic report collection), CDK deploy, CloudFormation deploy, and S3 publish. AWS account connections are managed through 'environment' resources, allowing you to associate different AWS accounts with development, staging, and production environments. Approval gates can require designated members to approve before production deployments proceed. Compute types can be selected from Linux and Windows, and the required runtimes (Node.js, Python, Java, Go, .NET) are specified within actions. Artifact passing enables pipelines where build action outputs are carried forward to deploy actions. The free tier includes 2,000 build minutes per month, allowing small teams to run CI/CD at no additional cost.

共有するXB!