Archived
forked from admin/userbase
init: userbase front/service/deploy source (CI builds front via Gitea Actions)
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
# 一键部署:上传编排文件 -> SSH 到服务器拉取镜像并启动
|
||||
# 用法: ./deploy.sh [app_tag] [front_tag]
|
||||
# 前置环境变量: DEPLOY_HOST, SSHPASS(可选 ACR_NAMESPACE / DEPLOY_USER / REMOTE_DIR)
|
||||
# 注:服务器需已 docker login registry.cn-hangzhou.aliyuncs.com
|
||||
set -euo pipefail
|
||||
|
||||
APP_VERSION="${1:-${APP_VERSION:-userbase-v1.0}}"
|
||||
FRONT_VERSION="${2:-${FRONT_VERSION:-userbase-front-v1.0}}"
|
||||
HOST="${DEPLOY_HOST:?请设置 DEPLOY_HOST}"
|
||||
PORT="${DEPLOY_PORT:-22}"
|
||||
USER="${DEPLOY_USER:-yunhai}"
|
||||
REMOTE_DIR="${REMOTE_DIR:-/opt/docker/userbase}"
|
||||
NAMESPACE="${ACR_NAMESPACE:-damaomi_docker}"
|
||||
REGISTRY="${ACR_REGISTRY:-registry.cn-hangzhou.aliyuncs.com}"
|
||||
PY="${PYTHON_BIN:-python3}"
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
echo "== 1/2 上传 compose 到 $HOST:$REMOTE_DIR =="
|
||||
"$PY" upload.py "$HOST" "$PORT" "$USER" \
|
||||
docker-compose.userbase.yml "$REMOTE_DIR/docker-compose.userbase.yml"
|
||||
|
||||
echo "== 2/2 远端拉取镜像并启动 =="
|
||||
"$PY" remote_run.py "$HOST" "$PORT" "$USER" <<EOF
|
||||
set -e
|
||||
mkdir -p "$REMOTE_DIR/upload-data"
|
||||
cd "$REMOTE_DIR"
|
||||
cat > .env <<ENV
|
||||
ACR_REGISTRY=$REGISTRY
|
||||
ACR_NAMESPACE=$NAMESPACE
|
||||
APP_VERSION=$APP_VERSION
|
||||
FRONT_VERSION=$FRONT_VERSION
|
||||
ENV
|
||||
docker compose -f docker-compose.userbase.yml pull
|
||||
docker compose -f docker-compose.userbase.yml up -d
|
||||
docker image prune -f
|
||||
docker ps --filter name=userbase --format "table {{.Names}}\t{{.Status}}"
|
||||
echo DEPLOY_OK
|
||||
EOF
|
||||
Reference in New Issue
Block a user