chore: disable old K3s Actions; add webhook deploy scripts

This commit is contained in:
Azmat@qq.com
2026-09-23 15:16:40 +08:00
parent b1ef04ee30
commit a6a3d88624
4 changed files with 143 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
#!/usr/bin/env bash
# push → Gitea Webhook → 本脚本:仅部署 dev 到本机 Docker Compose
set -euo pipefail
APP_DIR="${APP_DIR:-/opt/AirShelf}"
BRANCH="${BRANCH:-dev}"
COMPOSE_FILE="${COMPOSE_FILE:-docker-compose.yml}"
ENV_FILE="${ENV_FILE:-core/backend/.env}"
LOG_DIR="${LOG_DIR:-/var/log/airshelf}"
LOCK_FILE="${LOCK_FILE:-/tmp/airshelf-deploy-dev.lock}"
mkdir -p "$LOG_DIR"
LOG_FILE="${LOG_DIR}/deploy-dev.log"
exec 9>"$LOCK_FILE"
if ! flock -n 9; then
echo "$(date '+%F %T') another deploy is running, skip" | tee -a "$LOG_FILE"
exit 0
fi
{
echo "======== $(date '+%F %T') deploy start ========"
cd "$APP_DIR"
if [[ ! -d .git ]]; then
echo "ERROR: $APP_DIR is not a git repo. Clone from your Gitea first."
exit 1
fi
# .env 在仓库里被跟踪,pull 会覆盖服务器上的生产配置;先备份再还原
ENV_BACKUP=""
if [[ -f "$ENV_FILE" ]]; then
ENV_BACKUP="$(mktemp)"
cp -a "$ENV_FILE" "$ENV_BACKUP"
echo "backed up $ENV_FILE"
fi
git fetch --prune origin
git checkout "$BRANCH"
git reset --hard "origin/$BRANCH"
if [[ -n "$ENV_BACKUP" ]]; then
cp -a "$ENV_BACKUP" "$ENV_FILE"
rm -f "$ENV_BACKUP"
echo "restored $ENV_FILE"
fi
docker compose -f "$COMPOSE_FILE" up -d --build
echo "======== $(date '+%F %T') deploy ok ========"
} >>"$LOG_FILE" 2>&1