A full-stack deployment platform that enables continuous deployment from Git repositories with real-time build logs. β¨
This project is structured as a microservices-based platform with four main components:
- Technologies: Node.js, Express, Socket.IO, Redis, AWS ECS Fargate
- Features:
- Accepts GitHub repository URLs and spins up containers for builds
- Provides real-time deployment logs via WebSockets
- Handles deployment queuing with Redis pub/sub
- Supports branch and folder selection for monorepos
- Auto-stops containers once builds complete
- Technologies: Node.js, AWS S3, Docker, AWS ECR/ECS, Containerized CI/CD
- Features:
- Runs in cloud-native containers to build projects
- Orchestrated by AWS ECS with auto-scaling capabilities
- Container images stored in ECR for enterprise-grade security
- Clones Git repositories with specific branch and executes build commands
- Streams real-time logs back to the API server
- Uploads build artifacts to S3 storage
- Reports build status (success/failure)
- Zero-downtime deployments with blue/green capability
- Technologies: Node.js, Express, HTTP-Proxy
- Features:
- Serves the deployed websites from S3 storage
- Routes traffic based on subdomains to the right project
- Handles request forwarding and URL rewriting
- Technologies: React, TypeScript, Tailwind CSS, Socket.IO client
- Features:
- User-friendly interface for initiating deployments
- GitHub repository integration
- Real-time build log streaming
- Deployment progress visualization
- Branch and folder selection for monorepos
Currently Supported:
- Static websites built with React, Vite, or similar JavaScript frameworks
- Projects with npm-based build systems
- Single-page applications (SPAs)
Coming in Shipyard 2.0: π
- Server-side rendering (SSR) applications
- Backend APIs and services
- Database-dependent applications
- Additional framework support beyond JavaScript/npm ecosystems
- Advanced build configuration options
build
script defined in package.json. Make sure your project includes this before deployment!
Each component has its own README with specific setup instructions. The platform requires:
- AWS account with configured credentials
- Redis instance for pub/sub messaging
- S3 bucket for storing build artifacts
- DNS configuration for the subdomain-based routing
See individual component READMEs for the specific environment variables required for each service.
- Set up the required infrastructure (AWS, Redis, S3)
- Configure environment variables for each component
- Start the API server, proxy server, and UI locally
- The build server runs in containers and doesn't need to be started locally
- Enter a GitHub repository URL in the UI
- Select branch and folder for deployment
- Click "Deploy"
- Watch real-time build logs
- Once complete, access your deployed site at the provided URL
MIT