CI/CD
Simfra includes fully functional CI/CD services. You can push code to CodeCommit, build it with CodeBuild, deploy it with CodeDeploy, and orchestrate the whole flow with CodePipeline - all running locally with real Docker-backed execution.
No external services, no cloud accounts, no network latency. The entire pipeline runs on your machine.
How It Works
Each service is a faithful simulation of its AWS counterpart:
- CodeCommit runs a per-account Docker git server. You clone, push, and pull using standard git over HTTP.
- CodeBuild spins up ephemeral Docker containers, downloads your source, parses your
buildspec.yml, and executes each phase. Artifacts are uploaded to S3. - CodeDeploy manages deployments across three compute platforms (EC2/Server, Lambda, ECS) with full lifecycle event progression.
- CodePipeline orchestrates multi-stage pipelines with real cross-service integration - it starts CodeBuild builds, creates CodeDeploy deployments, and polls their status to advance stages.
All four services emit EventBridge events on state changes, so event-driven automation works out of the box.
Prerequisites
All CI/CD services require Docker:
export SIMFRA_DOCKER=true
Guides
CodeCommit
Git repositories you can clone and push to from your host. Per-account Docker git server, no authentication required over localhost.
CodeBuild
Build projects that execute your buildspec.yml inside Docker containers. Source from CodeCommit or S3, artifacts uploaded to S3, logs forwarded to CloudWatch Logs.
CodeDeploy
Application deployments across EC2/Server, Lambda, and ECS targets. Full lifecycle event progression, deployment configurations, and rollback support.
CodePipeline
Multi-stage pipeline orchestration tying Source, Build, Deploy, and Approval actions together. V2 pipelines with SUPERSEDED, QUEUED, and PARALLEL execution modes.
Embedded Go Server
Embedding Simfra in Go tests - no Docker, no external process. Each test gets its own isolated server instance with fast startup.