33800 Docs

← 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}"