Documentation

How Deployments Work - CI/CD & Zero-Downtime

Master deployra's deployment system with automatic CI/CD pipelines, manual deployment controls, and zero-downtime strategies. Learn GitHub integration, deployment management, and best practices for continuous deployment workflows.

CI/CD Pipeline
Zero Downtime
GitHub Integration
Auto Deploy

Deployment Overview

deployra provides a complete CI/CD solution with automatic deployments, manual controls, and zero-downtime strategies to keep your applications running smoothly.

Automatic CI/CD

Push to GitHub and deploy automatically

Manual Control

Deploy on-demand via dashboard or API

Zero Downtime

Rolling updates with health checks

Deployra can automatically deploy your application each time you merge a change to your codebase. You can also trigger manual deploys, both programmatically and in the Deployra Dashboard. All service types redeploy with zero downtime, ensuring your applications remain available throughout the process.

Deployment timeline in Deployra
Automatic Deploys

Connect to your GitHub repository and deploy automatically when you push to your main branch.

Manual Deploys

Deploy on-demand through the dashboard or via API when you need more control over timing.

Zero-Downtime

Keep your services available throughout the deployment process with a seamless rollout strategy.

Automatic Deploys

As part of creating a service on Deployra, you link a branch of your GitHub repo (such as main or production). Whenever you push or merge a change to that branch, by default Deployra automatically rebuilds and redeploys your service.

Branch-based deploys

Any code changes to your linked branch will trigger a new deployment automatically.

Immediate detection

Deployra immediately detects when new commits are pushed to your repository.

Automated process

The entire deployment process runs automatically without requiring manual intervention.

Auto-deploys in the Events timeline
Auto-deploys appear in your service's Events timeline

Disabling Auto-Deploys

If you always want to trigger deploys manually, you can disable auto-deploys in the Deployra Dashboard:

1

Go to your service's Settings page

Navigate to your service dashboard and click the Settings tab

2

Set Auto-Deploy to No

Disabling auto-deploy in settings
3

Click Save

Your changes will take effect immediately

Manual Deploys

From your service's page in the Deployra Dashboard, you can manually trigger a deployment whenever needed. This is useful for deploying specific versions or when you have auto-deploys disabled.

Dashboard Manual Deploy

To trigger a manual deploy from the dashboard:

1

Navigate to your service's overview page

2

Click the "Manual Deploy" button in the header

3

Confirm the deployment

Managing Deploys

Canceling a Deploy

You can cancel an in-progress deploy in the Deployra Dashboard:

1

Go to your service's Events page

Click the word Deploy in the corresponding event entry

2

Click Cancel deploy

The deployment process will be stopped immediately

Restarting a Service

If your service is misbehaving, you can perform a restart from the service's page in the Deployra Dashboard. Click the Restart service button.

Restart service button

Zero-Downtime Deploys

Whenever you deploy a new version of your service, Deployra performs a sequence of steps to make sure the service stays up and available throughout the deploy process—even if the deploy fails.

This zero-downtime deploy sequence applies to web services and private services, ensuring your applications remain accessible to users at all times.

Deployment Best Practices

Health Checks

Implement proper health check endpoints in your application to ensure deployra can verify your service is ready before routing traffic to new instances.

Database Migrations

Run database migrations as part of your build process or use backward-compatible changes to ensure smooth deployments without breaking existing instances.

Branch Strategy

Use feature branches and pull requests for code review, then merge to your main branch for automatic deployment to maintain code quality and stability.

Rollback Strategy

Keep your deployments small and frequent to minimize risk. If issues arise, you can quickly revert to a previous version or deploy a hotfix.

Frequently Asked Questions

How long do deployments typically take?

Deployment time varies based on your application size and complexity. Most deployments complete within 2-5 minutes, including build time, health checks, and traffic routing. Larger applications or those with extensive dependencies may take longer.

What happens if a deployment fails?

If a deployment fails during the build or health check phase, deployra automatically keeps your existing instances running. No traffic is routed to failed deployments, ensuring your service remains available. You'll receive notifications about the failure with detailed logs for debugging.

Can I rollback a deployment?

Yes! You can rollback by deploying a previous version of your code. Simply revert your changes in Git and push, or manually deploy a specific commit hash. deployra maintains deployment history for easy reference and rollback operations.

How does zero-downtime deployment work?

deployra uses a rolling deployment strategy. New instances are created with your updated code, health-checked, and gradually receive traffic. Old instances are terminated only after new ones are healthy and serving requests, ensuring continuous availability.

Can I deploy specific branches or commits?

Yes! While auto-deploy works with your configured branch, you can manually deploy any branch or specific commit hash through the dashboard. This is useful for testing features, hotfixes, or deploying specific versions.

How do I monitor deployment progress?

The deployra dashboard provides real-time deployment logs and status updates. You can watch the build process, health checks, and traffic routing in the Events timeline. Email notifications keep you informed of deployment success or failure.