源文件:
14-deploy-notifications.md# 14. Deploy Notifications
This document records the deploy notification pipeline for the Node CI/CD toolkit.
# What it does
Notifications are sent for:
- direct manual info messages
- successful signed webhook deploys
- failed signed webhook deploys
# Live files
- notifier:
/usr/local/bin/node-cicd-notify - notifier config:
/etc/node-cicd-notify.env - webhook receiver:
/usr/local/bin/node-cicd-webhookd
# Channel model
Supported channels are:
telegramemail
Current live default on this VPS:
CHANNELS='telegram'- Telegram sent directly through the Telegram Bot API
- Email disabled by default
To enable email later, change for example:
CHANNELS='telegram,email'
EMAIL_ENABLED='1'
EMAIL_TO='ops@example.com'
EMAIL_FROM='node-cicd@example.com'
SENDMAIL_BIN='/usr/sbin/sendmail'
# Message shape
Each message includes structured fields such as:
- status
- domain
- source
- event
- ref
- step
- release
- time
And it can append a details block from a log file.
# Verified behavior
This was actually tested on this VPS by:
- sending an INFO notification for
node.v4.sohophp.app - sending a SUCCESS notification after webhook deploy to release
20260602171950 - sending a FAILURE notification when webhook deploy used repo
/srv/git/does-not-exist - verifying Telegram delivery result in webhook JSON output
# Example command
sudo node-cicd-notify \
--status success \
--domain app.example.com \
--source webhook \
--event push \
--ref refs/heads/main \
--step deploy \
--release /var/www/node22/app.example.com/releases/20260602171950
# Secret handling
- keep real Telegram bot tokens only in
/etc/node-cicd-notify.env - keep docs/examples on placeholder values only
- do not publish real chat IDs or tokens in toolkit docs