← Retour
#!/bin/bash
# ═══════════════════════════════════════════════════════════════════════════
# NOTIFY-RESULT.SH - Notification du résultat de déploiement via ntfy
# Appelé en after_script par GitLab CI
# ═══════════════════════════════════════════════════════════════════════════
NTFY_URL="${NTFY_URL:-http://192.168.1.12:8080}"
NTFY_TOPIC="${NTFY_TOPIC:-deploy}"
# Variables GitLab CI
PROJECT_NAME="${CI_PROJECT_NAME:-unknown}"
BRANCH="${CI_COMMIT_BRANCH:-unknown}"
COMMIT="${CI_COMMIT_SHORT_SHA:-unknown}"
JOB_STATUS="${CI_JOB_STATUS:-unknown}"
PIPELINE_URL="${CI_PIPELINE_URL:-}"
# Déterminer le message selon le status
if [[ "$JOB_STATUS" == "success" ]]; then
TITLE="✅ Deploy OK: ${PROJECT_NAME}"
PRIORITY="default"
TAGS="white_check_mark,rocket"
else
TITLE="❌ Deploy FAILED: ${PROJECT_NAME}"
PRIORITY="high"
TAGS="x,warning"
fi
BODY="Branch: ${BRANCH}
Commit: ${COMMIT}
Status: ${JOB_STATUS}"
if [[ -n "$PIPELINE_URL" ]]; then
BODY="${BODY}
Logs: ${PIPELINE_URL}"
fi
# Envoyer la notification
curl -s -X POST "${NTFY_URL}/${NTFY_TOPIC}" \
-H "Title: ${TITLE}" \
-H "Priority: ${PRIORITY}" \
-H "Tags: ${TAGS}" \
-d "${BODY}" || true
echo "Notification envoyée vers ${NTFY_URL}/${NTFY_TOPIC}"