webhook
This commit is contained in:
33
deploy/deploy.sh
Normal file
33
deploy/deploy.sh
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Skrip deploy yang dipanggil oleh webhook bila ada push ke Gitea.
|
||||
# Ia mengesan sendiri lokasi repo (folder induk kepada deploy/),
|
||||
# tarik kod terbaru, dan bina semula container.
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
# Cabang yang akan di-deploy (boleh override: BRANCH=staging ./deploy.sh)
|
||||
BRANCH="${BRANCH:-master}"
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
REPO_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
cd "$REPO_DIR"
|
||||
|
||||
LOG() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"; }
|
||||
|
||||
LOG "Mula deploy untuk $REPO_DIR (branch: $BRANCH)"
|
||||
|
||||
# Tarik kod terbaru — reset --hard supaya server sentiasa padan dengan remote.
|
||||
git fetch --prune origin
|
||||
git reset --hard "origin/${BRANCH}"
|
||||
|
||||
# Bina & start semula container
|
||||
docker compose up --build -d
|
||||
|
||||
# Bersihkan image lama supaya disk tak penuh
|
||||
docker image prune -f >/dev/null 2>&1 || true
|
||||
|
||||
# Optional: jalankan migration (buang komen kalau perlu)
|
||||
# docker compose exec -T app php artisan migrate --force
|
||||
|
||||
LOG "Deploy selesai."
|
||||
Reference in New Issue
Block a user