Get Pinged the Moment Your Deployment Finishes
You kicked off a deployment twenty minutes ago. Since then you've been switching between your terminal, your browser, and your CI dashboard like a nervous pilot watching six screens at once. There's a better way. A proper deployment finish notification frees you to do real work while your pipeline runs — and fires an instant ping the second it's done.
Why Watching Pipelines Manually Is a Productivity Killer
CI/CD pipelines for even modest applications can take anywhere from three to twenty-five minutes to complete. Studies on developer focus show that context-switching costs roughly 23 minutes of recovery time per interruption. When you're manually polling a pipeline dashboard every few minutes, you're voluntarily destroying your own flow state. A reliable deployment finish notification eliminates that entirely — you stay heads-down until your phone or browser tells you something actually happened.
The Simplest Approach: a Single curl Command
The fastest way to get a ping notification at the end of any script or pipeline step is a plain HTTP request. With pingme.co, you get a unique endpoint URL. Drop a curl call at the end of your deploy script and you'll receive an instant ping the moment that line executes.
# deploy.sh
./run-migrations.sh
./restart-servers.sh
# Send deployment finish notification
curl -s "https://pingme.co/p/YOUR_TOKEN?msg=Deployment+complete" > /dev/null
That's it. No SDK, no npm package, no credentials file. One line added to whatever you already run, and you get a ping notification delivered to your phone, browser, or desktop the instant the deployment exits.
Integrating with GitHub Actions
GitHub Actions is the most common CI platform right now, and adding a deployment finish notification takes about four lines of YAML. Add a final step to your workflow that runs regardless of whether previous steps passed or failed:
- name: Ping on finish
if: always()
run: |
STATUS="${{ job.status }}"
curl -s "https://pingme.co/p/YOUR_TOKEN?msg=Deploy+$STATUS" > /dev/null
The if: always() condition ensures you get a ping notification whether the deployment succeeded, failed, or was cancelled. The job.status variable passes the outcome directly into your message so you know at a glance what happened without opening the Actions tab.
Using Webhooks in GitLab CI and CircleCI
GitLab CI and CircleCI both support adding arbitrary shell commands in pipeline stages. The pattern is identical — append a curl or wget call in your final stage's after_script or post-steps block. In GitLab CI:
deploy:
stage: deploy
script:
- ./deploy.sh
after_script:
- curl -s "https://pingme.co/p/YOUR_TOKEN?msg=GitLab+deploy+done"
after_script runs even when the main script block fails, making it the right place for your deployment finish notification. In CircleCI, use the post-steps key under your job definition for the same guaranteed execution.
Sending Alerts to Your Team, Not Just Yourself
Solo developers ping themselves. Teams need to send alert messages to multiple people. pingme.co supports channel-style endpoints — one URL can notify everyone subscribed to that channel simultaneously. Add the shared endpoint URL to your CI environment variables and every engineer on the team gets the deployment finish notification at the same moment, without anyone having to check Slack or refresh a dashboard.
You can also encode context into the message parameter: include the branch name, the commit SHA, or the environment (staging vs. production) so recipients immediately know what finished and where.
Handling Success vs. Failure Separately
Not every deployment finish notification should feel the same. A successful production deploy is good news; a failed one needs immediate attention. Structure your CI steps to send different messages based on outcome:
# Bash example after a deploy command
if [ $? -eq 0 ]; then
curl -s "https://pingme.co/p/YOUR_TOKEN?msg=✅+Production+deploy+succeeded"
else
curl -s "https://pingme.co/p/YOUR_TOKEN?msg=🚨+Production+deploy+FAILED"
fi
This gives you an instant ping with clear signal — green means you can move on, red means drop everything. Combine this with browser push notifications on your phone and you'll never miss a broken deployment again, even when you're away from your desk.
Best Practices for Deployment Notifications
Keep your ping messages short and specific: environment, status, and optionally the triggering branch. Avoid sending a ping notification for every minor build step — reserve them for the final deployment outcome so you don't train yourself to ignore the alerts. Store your pingme.co token as a CI secret variable rather than hardcoding it in your YAML files. And test your notification endpoint before relying on it in production by triggering a manual curl from your terminal and confirming you receive the ping.
With these patterns in place, you'll never stare at a deployment log again. Write code, ship it, and let the ping come to you.