Compare commits
2
Commits
00c1839635
...
be7ce2a385
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be7ce2a385 | ||
|
|
95519963c3 |
@@ -78,36 +78,68 @@ setup_go_proxy() {
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# 4. 配置服务端口
|
||||
# 4. 读取 .env 配置文件
|
||||
# ----------------------------------------------------------
|
||||
setup_port() {
|
||||
load_env() {
|
||||
local port="${1:-9050}"
|
||||
local compose_file="docker-compose.yml"
|
||||
|
||||
info "配置服务端口为 ${port}..."
|
||||
sed -i "s/- \"8080:8080\"/- \"${port}:8080\"/" "$compose_file"
|
||||
info "端口配置完成: ${port}"
|
||||
if [ ! -f ".env" ]; then
|
||||
error ".env 文件不存在,请先执行: cp .env.example .env 并填写 MySQL 连接信息"
|
||||
fi
|
||||
|
||||
info "读取 .env 配置..."
|
||||
set -a
|
||||
# shellcheck disable=SC1091
|
||||
source .env
|
||||
set +a
|
||||
|
||||
# 命令行参数覆盖 .env 中的 PORT
|
||||
if [ -n "$port" ]; then
|
||||
export PORT="$port"
|
||||
fi
|
||||
|
||||
info "MySQL: ${MYSQL_USER}@${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}"
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# 5. 构建并启动服务
|
||||
# ----------------------------------------------------------
|
||||
build_and_start() {
|
||||
local port="${1:-9050}"
|
||||
|
||||
info "构建 Docker 镜像(首次可能需要几分钟)..."
|
||||
docker compose build
|
||||
|
||||
info "启动服务..."
|
||||
docker compose up -d
|
||||
|
||||
info "等待服务启动..."
|
||||
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
|
||||
|
||||
if docker compose ps | grep -q "running\|Up"; then
|
||||
info "=========================================="
|
||||
info " PR-Helper 部署成功!"
|
||||
info "=========================================="
|
||||
info "访问地址: http://$(hostname -I | awk '{print $1}'):${PORT:-9050}"
|
||||
info "本地访问: http://localhost:${PORT:-9050}"
|
||||
info "访问地址: http://$(hostname -I | awk '{print $1}'):${port}"
|
||||
info "本地访问: http://localhost:${port}"
|
||||
info ""
|
||||
info "数据库配置: .env"
|
||||
info ""
|
||||
info "常用命令:"
|
||||
info " 查看日志: docker compose logs -f"
|
||||
@@ -124,7 +156,6 @@ build_and_start() {
|
||||
# ----------------------------------------------------------
|
||||
main() {
|
||||
local port="${1:-9050}"
|
||||
export PORT="$port"
|
||||
|
||||
info "开始部署 PR-Helper..."
|
||||
info "目标端口: ${port}"
|
||||
@@ -132,8 +163,8 @@ main() {
|
||||
check_docker
|
||||
setup_docker_mirror
|
||||
setup_go_proxy
|
||||
setup_port "$port"
|
||||
build_and_start
|
||||
load_env "$port"
|
||||
build_and_start "$port"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user