Getting Started

Set up deployment freezes for your repositories in just a few minutes.

1Install the GitHub App

Click the button below to install the GitHub Deploy Freeze app from the GitHub Marketplace.

Install from GitHub Marketplace

You'll be redirected to GitHub to authorize the app. You can choose to install it on all repositories or select specific ones.

2Configure Environment Protection

For each repository where you want to use deployment freezes, you need to add our app as a deployment protection rule.

  1. Go to your repository on GitHub
  2. Navigate to Settings → Environments
  3. Click on an existing environment (e.g., "production") or create a new one
  4. Scroll down to Deployment protection rules
  5. Click Add deployment protection rule
  6. Select GitHub Deploy Freeze from the dropdown
  7. Click Save protection rules

Tip: You need to do this for each environment you want to protect. For example, set it up for "production" but not "staging" if you want to freeze prod but keep staging open.

3Freeze Deployments

You can freeze deployments in two ways:

Method 1: Web Dashboard

  1. Visit the dashboard
  2. Click Add Freeze
  3. Select the repository and environment
  4. Optionally add a reason (e.g., "Holiday freeze")
  5. Click Freeze

To unfreeze, simply click the Unfreeze button next to the frozen environment.

Method 2: GitHub Actions

Use our published GitHub Actions in your workflows to freeze/unfreeze programmatically:

# .github/workflows/freeze.yml
name: Freeze Production

on:
  workflow_dispatch:

jobs:
  freeze:
    runs-on: ubuntu-latest
    steps:
      - name: Freeze production
        uses: your-org/deploy-freeze-action@v1
        with:
          action: freeze
          environment: production
          reason: "Planned maintenance"
          # Optional: auto-expire after duration
          expires_in: "24h"

Documentation for our GitHub Actions will be available soon.

4Test It Out

Verify that the freeze is working:

  1. Freeze an environment using the dashboard or GitHub Actions
  2. Try to trigger a deployment to that environment (e.g., via a GitHub Actions workflow)
  3. The deployment should be blocked with a message explaining why
  4. Unfreeze the environment and try again - it should proceed normally

Success! When a deployment is blocked, GitHub will show a message like: "Deployment blocked by GitHub Deploy Freeze: Holiday freeze"

Common Scenarios

Holiday Freeze

Freeze production deployments from December 20 to January 2:

  • Freeze production with reason: "Holiday freeze - team unavailable"
  • Set expiration for 2 weeks using expires_in: "336h"
  • Team members can still view deployments in the dashboard
  • Unfreeze early if needed through the dashboard

Major Event / Sales

Prevent deployments during Black Friday or a product launch:

  • Freeze production with reason: "Black Friday - no deployments"
  • Keep staging unfrozen for testing hotfixes
  • Monitor all deployments from the dashboard
  • Unfreeze immediately after the event concludes

Emergency Freeze

Quickly stop all deployments during an incident:

  • Use the dashboard for instant freezing (no CI/CD setup needed)
  • Add reason: "Incident response - investigating"
  • All team members can see the freeze status
  • Unfreeze when the incident is resolved

Troubleshooting

Deployments aren't being blocked

Check these things:

  • The app is installed on your repository
  • The environment has the protection rule configured in Settings → Environments
  • The environment name in your workflow matches exactly (case-sensitive)
  • The freeze is active (check the dashboard)
Can't see my repositories in the dashboard
Make sure the app is installed on those repositories. Go to GitHub Settings → Applications → GitHub Deploy Freeze and verify the repository access.
Need to deploy urgently during a freeze
Simply unfreeze the environment from the dashboard. The change is instant. After your emergency deployment, you can re-freeze if needed.

Next Steps

  • Visit your dashboard to manage freezes
  • Set up deployment protection rules on all critical environments
  • Share the dashboard with your team so everyone can see freeze status
  • Plan your first freeze for an upcoming holiday or event