DeployNinja
DeployNinja is a deployment platform with GitHub-triggered builds, live logs, AWS-backed delivery, and repeatable release flows.
DeployNinja was built to cut down the manual work between pushing code and getting a live deployment. Instead of relying on shell scripts and dashboard steps, it routes GitHub events into one release flow with builds, logs, and delivery.
DeployNinja was built to cut down the manual work between pushing code and getting a live deployment. Instead of relying on shell scripts and dashboard steps, it routes GitHub events into one release flow with builds, logs, and delivery.
The system is split into a control plane, a build server, and a reverse proxy. It uses PostgreSQL for state, ClickHouse for logs, Kafka for moving events and logs around, and AWS for images, runtime, and stored files.
How It Was Built
The main technical choices behind the product, from system design to the parts that make it work day to day.
- Split the platform into three parts: a control plane for managing projects, a build server for running builds, and a proxy for delivery.
- Connected GitHub events to the build flow so pushes can start automated builds and releases.
- Split the platform into three parts: a control plane for managing projects, a build server for running builds, and a proxy for delivery.
- Connected GitHub events to the build flow so pushes can start automated builds and releases.
- Streamed logs through Kafka and stored state and logs separately in PostgreSQL and ClickHouse.
- Used AWS ECR, ECS, and S3 to handle images, runtime, and deployment files from end to end.