feat: add git pull as first deploy step, remove embedded MySQL wait logic

This commit is contained in:
2026-06-20 23:09:48 +08:00
parent 4d04153d61
commit ca2e294735
+12 -19
View File
@@ -18,7 +18,15 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
# ----------------------------------------------------------
# 1. 检查 Docker 环境
# 1. 拉取最新代码
# ----------------------------------------------------------
pull_latest() {
info "拉取最新代码..."
git pull --rebase || warn "git pull 失败,将使用本地代码继续构建"
}
# ----------------------------------------------------------
# 2. 检查 Docker 环境
# ----------------------------------------------------------
check_docker() {
if ! command -v docker &>/dev/null; then
@@ -31,7 +39,7 @@ check_docker() {
}
# ----------------------------------------------------------
# 2. 配置 Docker 国内镜像加速
# 3. 配置 Docker 国内镜像加速
# ----------------------------------------------------------
setup_docker_mirror() {
local daemon_json="/etc/docker/daemon.json"
@@ -60,7 +68,7 @@ setup_docker_mirror() {
}
# ----------------------------------------------------------
# 3. 读取 .env 配置文件
# 4. 读取 .env 配置文件
# ----------------------------------------------------------
load_env() {
if [ ! -f ".env" ]; then
@@ -90,22 +98,6 @@ build_and_start() {
info "启动服务..."
docker compose up -d
info "等待 MySQL 就绪..."
local retries=30
while [ $retries -gt 0 ]; do
if docker compose exec -T mysql mysqladmin ping -h localhost --silent 2>/dev/null; then
info "MySQL 就绪"
break
fi
retries=$((retries - 1))
sleep 2
done
if [ $retries -eq 0 ]; then
warn "MySQL 启动超时,继续等待应用自行重连..."
sleep 10
fi
info "等待应用启动..."
sleep 3
@@ -132,6 +124,7 @@ build_and_start() {
main() {
info "开始部署 PR-Helper..."
pull_latest
check_docker
setup_docker_mirror
load_env