What is a Deployment?
A deployment in Orchard manages:- Container instances (pods) running your application
- Scaling with configurable replica counts
- Build pipeline for GitHub-based deployments
- Environment variables for configuration
- Volumes for persistent storage
- Services for network access
Deployment Methods
Orchard supports two ways to create deployments:From Docker Image
Deploy a pre-built Docker image from any registry
From GitHub
Build and deploy directly from your GitHub repository
Deployment Lifecycle
Build Steps (GitHub Deployments)
When deploying from GitHub, Orchard goes through these stages:- Cloning: Repository is cloned from GitHub
- Building: Docker image is built using your Dockerfile
- Pushing: Image is pushed to Orchard’s private registry
- Deploying: Kubernetes deployment is created/updated
Deployment Status
Your deployment can be in one of these states:| Status | Description |
|---|---|
pending | Deployment is queued and waiting to start |
cloning | Repository is being cloned (GitHub deployments) |
building | Docker image is being built |
pushing | Image is being pushed to the registry |
deploying | Kubernetes resources are being created |
running | Application is running successfully |
failed | Deployment failed (check build logs for details) |
Key Deployment Properties
| Property | Description |
|---|---|
| Name | Unique identifier within the project |
| Image | Docker image URL (for image-based deployments) |
| Replicas | Number of pod instances to run |
| Build Type | dockerfile or railpack (for GitHub deployments) |
| GitHub Repo | Repository URL (for GitHub deployments) |
| GitHub Branch | Branch to build from |
| Dockerfile Path | Path to Dockerfile in repository |
Managing Deployments
Viewing Deployment Details
From your project, click on a deployment to see:- Overview: Status, replicas, image, and basic info
- Logs: Build logs and container logs
- Settings: Configuration options
- History: Past builds and image versions
- Volumes: Attached storage
- Networking: Services and ingresses
Scaling
To change the number of running instances:- Go to your deployment
- Click Settings or find the replicas setting
- Enter the desired number of replicas
- Save changes
Scaling to 0 replicas will stop all pods but keep the deployment configuration intact.
Restarting
To restart your deployment with the same image:- Go to your deployment
- Click Rebuild or Restart
- Orchard will recreate the pods with the current image
Deleting
To delete a deployment:- Go to your deployment settings
- Scroll to the danger zone
- Click Delete Deployment
- Confirm the deletion
Image History and Rollbacks
Orchard keeps track of all images deployed for each deployment. This allows you to:- View all past builds with timestamps and commit info
- Rollback to any previous image version
- Identify which commit is currently running
- Go to your deployment’s History tab
- Find the image version you want to restore
- Click Rollback to this version
- Confirm the rollback
Build Configuration
Dockerfile Path
By default, Orchard looks forDockerfile in your repository root. You can specify a different path:
./Dockerfile- Root of repository./docker/Dockerfile- Subdirectory./services/api/Dockerfile- Nested path
Build From Root
The Build From Root option controls the Docker build context:- Enabled: Build context is the repository root (allows copying files from anywhere)
- Disabled: Build context is the Dockerfile’s directory (faster, smaller context)