deployment

Automate deployment architecture for multi-tenant Rails applications across environments.

36|6|Updated Apr 6, 2022
One-click install
npx skills add https://github.com/rubys/showcase --skill deployment-rubys
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deployment
Source: https://github.com/rubys/showcase/tree/main/.claude/skills/deployment
Command: npx skills add https://github.com/rubys/showcase --skill deployment-rubys

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill demystifies the complex process of deploying a multi-tenant Rails application across various environments (test, staging, production) using diverse tools. It provides a clear overview of the architecture and environment-specific commands, reducing deployment errors and accelerating your release cycles.

Core Features & Use Cases

  • Multi-tenancy Architecture: Understand how each event runs as a separate Rails instance, managed by Navigator or Phusion Passenger, and how routing is handled.
  • Environment-Specific Commands: Access exact deployment commands for test (Kamal), staging (Fly.io), admin (Git hook), and production (Fly.io) environments.
  • Global Deployment Architecture: Learn about Fly.io multi-region setup, automatic rsync backups, PDF generation appliances, and real-time updates via Action Cable.
  • Use Case: When preparing to deploy a new version of the application, use this skill to quickly recall the correct deployment command for the staging environment on Fly.io, ensuring a smooth rollout and adherence to the established architecture.

Quick Start

Use the deployment skill to get the command for deploying the application to the staging environment on Fly.io.

Frequently Asked Questions about deployment

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy a Rails application across multiple environments?

Deploy Rails applications across test, staging, and production environments using environment-specific tools: Kamal for test, Fly.io for staging and production, and Git hooks for admin. Each environment runs separate Rails instances managed by Navigator or Passenger, with routing handled through a centralized architecture supporting multi-tenant isolation.

What is multi-tenancy architecture in Rails deployment?

Multi-tenancy architecture isolates each tenant (event) as a separate Rails instance with its own SQLite database, while sharing a Redis instance for real-time Action Cable updates. This approach provides data isolation, independent scaling, and simplified per-tenant backups across Fly.io regions.

Can I use Kamal and Fly.io together for Rails deployment?

Yes. Kamal handles test environment deployments, while Fly.io manages staging and production with multi-region support, automatic rsync backups, and region-aware routing. This combination provides environment-specific optimization and centralized cross-region replication for production reliability.

How do I set up multi-region deployment on Fly.io?

Configure Fly.io multi-region setup with automatic rsync backups, PDF generation appliances, and Action Cable for real-time updates. Region-aware routing distributes traffic intelligently, while centralized logging tracks deployments across all regions for monitoring and troubleshooting.

What deployment tools work with Rails for managing multiple instances?

Navigator and Phusion Passenger manage multiple Rails instances in production, while NGINX handles routing between them. Kamal orchestrates test deployments, Fly.io manages staging and production infrastructure, and Redis supports real-time communication via Action Cable.

Does this deployment approach support automated backups?

Yes. The architecture includes automatic rsync backups for each event's SQLite database and centralized logging across all environments. Multi-region replication on Fly.io provides disaster recovery and redundancy for production data.