#!/bin/bash # 通用函数库 # 提供部署脚本使用的通用函数 # 颜色输出 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 日志函数 log_info() { echo -e "${GREEN}[INFO]${NC} $1" } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } # 检查命令是否存在 check_command() { if ! command -v $1 &> /dev/null; then log_error "命令不存在: $1" return 1 fi return 0 } # 检查 Docker 服务是否运行 check_docker() { if ! docker info &> /dev/null; then log_error "Docker 未运行" return 1 fi return 0 } # 等待服务健康检查 wait_for_healthy() { local service=$1 local max_wait=${2:-60} local count=0 log_info "等待服务健康检查: $service" while [ $count -lt $max_wait ]; do if docker-compose ps $service | grep -q "Up (healthy)"; then log_info "服务已就绪: $service" return 0 fi sleep 2 count=$((count + 2)) done log_warn "服务健康检查超时: $service" return 1 }