Product · Deploy logs

Deploy logs: every release recorded, freezes when you need them.

Send the repo and commit hash when you release. OpsMinder pulls the commits from GitHub or GitLab and keeps a change log per environment. Start a freeze, and releases are rejected until it lifts.

production14 releases this month
api v4.2.1a1b2c3d · a.khanFri 17:40
● freezerelease 4.2Wed → Fri
payments v1.8.3rejected · frozenThu 10:41
api v4.2.09f8e7d6 · a.khanWed 14:10
web v2.31.04c5d6e7 · m.vosMon 11:02
How it works

One place that knows what shipped, and when shipping was paused.

01

Record the release

When your pipeline deploys, it sends the environment, the repo and the commit hash. One CLI command, a GitHub Action or GitLab CI step, a Terraform resource, or an API call. The release is on the log before the deploy finishes.

$ opsminder release create \
--env production \
--repo acme/api \
--commit a1b2c3d \
--version v4.2.1
✓ release recorded · 6 commits since v4.2.0
02

The change log fills itself in

Connect GitHub or GitLab once. For each release, OpsMinder pulls the commits since the previous release to that environment and shows them under it. "What went out on Wednesday?" is a page, not a search through CI logs.

api v4.2.1v4.2.0 → a1b2c3d · 6 commits
a1b2c3d fix: retry on 502 from payment provider
e4f5a6b fix: checkout 500s when coupon expired (#4821)
c7d8e9f chore: bump openssl
1a2b3c4 feat: export invoices as csv
… 2 more
03

Freeze an environment

Pick the environment, an end time and a reason. The team gets the message. While the freeze is on, a release to that environment is rejected and the pipeline step fails with the reason. A hotfix can still go out with an override and a reason, which is recorded on the log.

$ opsminder release create --env production …
✕ rejected: production is frozen
reason   release 4.2 rollout
by       a.khan · Wed 14:02
lifts    Fri 17:00 (in 1d 19h)
hotfix: add --override --reason "…"
exit code 1
04

The log is the record

Releases, freezes, rejections and overrides sit on one timeline per environment. Each release posts to the channel you chose, so the team knows what shipped without asking. The log exports as CSV or JSON.

OpsMinder#deploys · Fri 17:40
api v4.2.1 released to production by a.khan. 6 commits, including fix #4821. Freeze lifted 40 minutes earlier; 1 release was rejected during it.
Integrations

Record releases from wherever you deploy.

CLI
One command in any pipeline. Exit code 1 when rejected. opsminder release create
GitHub Action · GitLab CI
A step that records the release, or fails the job with the freeze reason.
Terraform provider
An opsminder_release resource records the release on apply, and fails the plan when the environment is frozen.
API
For your own deploy tools. POST /releases · GET /freezes/production
Commits come from your repos. Read-only access to the repositories you choose.
GitHubGitLab

Add one line to your deploy step this afternoon.

Free for one developer. €1 per seat a month after that.