Agent 2.0 exdev 서버 배포 스택
- server-dev start/stop/deploy 및 Gitea push 자동 배포 - local-dev 로컬 개발 환경 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
# exAichatbot_agent — Gitea post-receive (main push → deploy)
|
||||
# 설치: setup-gitea.sh 가 server hooks/post-receive 로 복사
|
||||
set -euo pipefail
|
||||
|
||||
GIT_DIR="/Volumes/ADATA/git/exAichatbot_agent.git"
|
||||
WORK_TREE="/Users/aidev/dev/exAichatbot_agent"
|
||||
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
|
||||
Reference in New Issue
Block a user