AlphornAlphorn Docs

Deployment Notifications

Notify your team when deployments start, succeed, or fail.

Deployments affect everyone. Whether it's a new feature going live or a hotfix rolling out, the right people need to know — in real time, not via a status page they might not check.

Docker / Docker Compose

Wrap your deploy script with notifications:

deploy.sh
#!/bin/bash
WEBHOOK="https://app.alphorn.dev/api/webhooks/wh_abc123"
SERVICE="my-app"
VERSION=$(git describe --tags --always)

# Notify start
curl -s -X POST "$WEBHOOK" \
  -H "Content-Type: application/json" \
  -d "{
    \"title\": \"Deploy started: $SERVICE\",
    \"message\": \"Deploying $VERSION to production\",
    \"priority\": 2,
    \"tags\": [\"deploy\", \"started\", \"$SERVICE\"]
  }"

# Deploy
docker compose pull && docker compose up -d
EXIT_CODE=$?

if [ $EXIT_CODE -eq 0 ]; then
  curl -s -X POST "$WEBHOOK" \
    -H "Content-Type: application/json" \
    -d "{
      \"title\": \"Deploy succeeded: $SERVICE\",
      \"message\": \"$VERSION is live in production\",
      \"priority\": 2,
      \"tags\": [\"deploy\", \"success\", \"$SERVICE\"]
    }"
else
  curl -s -X POST "$WEBHOOK" \
    -H "Content-Type: application/json" \
    -d "{
      \"title\": \"Deploy FAILED: $SERVICE\",
      \"message\": \"$VERSION failed to deploy (exit $EXIT_CODE)\",
      \"priority\": 5,
      \"tags\": [\"deploy\", \"failure\", \"$SERVICE\"]
    }"
fi

Kubernetes

Send a notification from a Kubernetes Job or post-deploy hook:

post-deploy-job.yaml
apiVersion: batch/v1
kind: Job
metadata:
  name: deploy-notify
spec:
  template:
    spec:
      containers:
        - name: notify
          image: curlimages/curl
          command:
            - curl
            - -s
            - -X
            - POST
            - $(ALPHORN_WEBHOOK)
            - -H
            - "Content-Type: application/json"
            - -d
            - '{"title":"Deployed to k8s","message":"$(APP_VERSION) rolled out","priority":2,"tags":["deploy","k8s"]}'
          env:
            - name: ALPHORN_WEBHOOK
              valueFrom:
                secretKeyRef:
                  name: alphorn
                  key: webhook-url
            - name: APP_VERSION
              value: "v1.2.3"
      restartPolicy: Never

Vercel / Netlify

Use deploy webhooks. Both platforms can call a URL on deploy events — point them at your Alphorn webhook endpoint.

In Vercel:

  1. Go to Project Settings → Git → Deploy Hooks (outgoing webhooks)
  2. Or use the Vercel API in a GitHub Action to POST to Alphorn after deploy completes

Routing examples

ChannelFilterPurpose
Slack (#deployments)tags CONTAINS "deploy"All deploy activity
Slack (#engineering)tags CONTAINS "failure"Only failed deploys
PagerDutypriority >= 4 AND tags CONTAINS "deploy"Page on-call for deploy failures
Discordtags CONTAINS "success"Celebrate successful releases

On this page