8000 GitHub - BhaveshG-22/shipyard: 🚒 Microservices-based CI/CD platform for GitHub with real-time logs. Supports Docker, static sites, AWS S3/ECS.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

🚒 Microservices-based CI/CD platform for GitHub with real-time logs. Supports Docker, static sites, AWS S3/ECS.

Notifications You must be signed in to change notification settings

BhaveshG-22/shipyard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚒 Shipyard - Modern Deployment Platform

A full-stack deployment platform that enables continuous deployment from Git repositories with real-time build logs. ✨

πŸ—οΈ Architecture Overview

This project is structured as a microservices-based platform with four main components:

1. πŸ”Œ API Server (/api-server)

  • 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

2. πŸ› οΈ Build Server (/build-server)

  • 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

3. πŸ”„ Proxy Server (/proxy-server)

  • 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

4. πŸ–₯️ Deploy UI (/deployUI)

  • 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

βœ… Project Support

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

⚠️ IMPORTANT: The current build process assumes projects have a standard npm build configuration with a build script defined in package.json. Make sure your project includes this before deployment!

πŸš€ Getting Started

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

πŸ” Environment Variables

See individual component READMEs for the specific environment variables required for each service.

πŸ’» Development Workflow

  1. Set up the required infrastructure (AWS, Redis, S3)
  2. Configure environment variables for each component
  3. Start the API server, proxy server, and UI locally
  4. The build server runs in containers and doesn't need to be started locally

πŸ„β€β™‚οΈ Deployment Example

  1. Enter a GitHub repository URL in the UI
  2. Select branch and folder for deployment
  3. Click "Deploy"
  4. Watch real-time build logs
  5. Once complete, access your deployed site at the provided URL

πŸ“„ License

MIT

About

🚒 Microservices-based CI/CD platform for GitHub with real-time logs. Supports Docker, static sites, AWS S3/ECS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0