Files
2026-08-13 17:51:39 +09:00

43 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# exAichatbot_agent — Gitea post-receive (main push → deploy)
# 설치: setup-gitea.sh 가 server hooks/post-receive 로 복사
set -euo pipefail
GIT_DIR="${GIT_DIR:-/Volumes/ADATA/gitea/data/gitea-repositories/aidev/exaichatbot_agent.git}"
WORK_TREE="${WORK_TREE:-/Users/aidev/dev/exAichatbot_agent}"
DEPLOY_SCRIPT="${DEPLOY_SCRIPT:-/Volumes/ADATA/git/deploy-exAichatbot_agent.sh}"
DEPLOY_LOG="/Volumes/ADATA/logs/deploy/exAichatbot_agent.log"
HOOK_TAG="[post-receive]"
mkdir -p "$(dirname "$DEPLOY_LOG")"
echo ""
echo "$(date '+%Y-%m-%d %H:%M:%S') $HOOK_TAG =============================="
echo "$(date '+%Y-%m-%d %H:%M:%S') $HOOK_TAG exAichatbot_agent push 수신"
echo "$(date '+%Y-%m-%d %H:%M:%S') $HOOK_TAG =============================="
while read -r OLDREV NEWREV REFNAME; do
BRANCH_NAME="${REFNAME#refs/heads/}"
echo "$(date '+%Y-%m-%d %H:%M:%S') $HOOK_TAG 브랜치: $BRANCH_NAME ($OLDREV → $NEWREV)"
if [[ "$BRANCH_NAME" != "main" ]]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') $HOOK_TAG main 외 브랜치 — 배포 생략"
continue
fi
if [[ ! -x "$DEPLOY_SCRIPT" ]]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') $HOOK_TAG [ERROR] deploy 스크립트 없음: $DEPLOY_SCRIPT"
exit 1
fi
echo "$(date '+%Y-%m-%d %H:%M:%S') $HOOK_TAG deploy 실행"
export GIT_DIR WORK_TREE
"$DEPLOY_SCRIPT" 2>&1 | tee -a "$DEPLOY_LOG"
EXIT_CODE=${PIPESTATUS[0]}
if [[ "$EXIT_CODE" -ne 0 ]]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') $HOOK_TAG [ERROR] 배포 실패 (exit: $EXIT_CODE)"
exit "$EXIT_CODE"
fi
echo "$(date '+%Y-%m-%d %H:%M:%S') $HOOK_TAG 배포 완료"
done