Getting Started
Get up and running with NoShip in under five minutes. Install the GitHub App, configure your repositories, and create your first freeze window.
1. Install the GitHub App
NoShip works as a GitHub App installed on your organization. It uses commit status checks and deployment protection rules to enforce freezes -- it never reads or accesses your source code.
To install:
- Click Install GitHub App on the NoShip landing page, or navigate to the NoShip listing on the GitHub Marketplace.
- Select the GitHub organization you want to manage.
- Choose which repositories NoShip should monitor. You can select all repositories or pick specific ones.
- Approve the requested permissions. NoShip requires:
- Commit statuses -- to set pass/fail checks on pull requests
- Deployment environments -- to act as a deployment protection rule
- Organization members (read) -- to sync your team for access control
2. Configure Branch Protection
After installation, you need to tell GitHub to enforce the NoShip status check. Without this step, freezes will show a status on PRs but will not block merging.
Option A: Repository Rulesets (recommended)
Repository rulesets are the modern way to enforce branch rules in GitHub.
- Go to your repository's Settings → Rules → Rulesets.
- Create a new ruleset (or edit an existing one) targeting your default branch.
- Under Require status checks to pass, add
NoShipas a required check. - Save the ruleset.
Option B: Branch Protection Rules (classic)
- Go to Settings → Branches in your repository.
- Edit (or create) the branch protection rule for your default branch.
- Enable Require status checks to pass before merging.
- Search for and add
NoShipin the status checks list. - Save the rule.
Deployment Protection Rules
To block deployments (not just merges), add NoShip as a deployment protection rule on your GitHub environments:
- Go to Settings → Environments in your repository.
- Select the environment (e.g.
production). - Under Deployment protection rules, enable the NoShip rule.
The NoShip dashboard also provides a Protection Status view that shows which repos and environments have NoShip properly configured.
3. Create Your First Freeze
Once the GitHub App is installed and branch protection is configured, create a freeze window from the dashboard.
Quick Freeze
A quick freeze takes effect immediately and blocks all repos until you cancel it. This is useful for emergency lockdowns.
- Open the NoShip dashboard.
- Click Create Freeze.
- Toggle Quick Freeze on.
- Give it a name (e.g. “Release v2.0 lockdown”).
- Optionally add rules to scope the freeze to specific repos, branches, or environments.
- Click Create. The freeze is now active.
Scheduled Freeze Window
A scheduled freeze has a defined start and end time. Useful for planned releases, maintenance windows, or holiday freezes.
- Click Create Freeze.
- Set the Start and End date and time.
- Add freeze rules if needed.
- Click Create. The freeze will automatically activate and deactivate at the specified times.
4. Link Your Slack Workspace
Connect Slack to manage freezes with natural language, get notifications, and interact with the NoShip AI assistant.
- Go to Dashboard → Settings.
- In the Slack section, click Connect Slack.
- Authorize the NoShip Slack app for your workspace.
- Once connected, you can DM the NoShip bot or mention it in any channel to manage freezes, check status, and request overrides.
You are now set up. Explore Core Concepts to understand freeze rules, schedules, and overrides in depth.