chore: initial commit
This commit is contained in:
107
installer/shells/start-all.sh
Normal file
107
installer/shells/start-all.sh
Normal file
@@ -0,0 +1,107 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# ------------------------------
|
||||
# 日志函数
|
||||
# ------------------------------
|
||||
log_info() {
|
||||
echo "[INFO] $(date '+%Y-%m-%d %H:%M:%S') - $1"
|
||||
}
|
||||
|
||||
log_error() {
|
||||
echo "[ERROR] $(date '+%Y-%m-%d %H:%M:%S') - $1" >&2
|
||||
}
|
||||
|
||||
# ------------------------------
|
||||
# 启动内置服务函数
|
||||
# ------------------------------
|
||||
start_mysql() {
|
||||
log_info "启动 MySQL 服务..."
|
||||
/shells/start-mysql.sh &
|
||||
|
||||
if /shells/wait-for-it.sh 127.0.0.1:3306 --timeout=120 --strict; then
|
||||
log_info "MySQL 服务已就绪"
|
||||
return 0
|
||||
else
|
||||
log_error "MySQL 服务启动失败或超时"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
start_redis() {
|
||||
log_info "启动 Redis 服务..."
|
||||
/shells/start-redis.sh &
|
||||
|
||||
if /shells/wait-for-it.sh 127.0.0.1:6379 --timeout=120 --strict; then
|
||||
log_info "Redis 服务已就绪"
|
||||
return 0
|
||||
else
|
||||
log_error "Redis 服务启动失败或超时"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
start_mcp_after_cordys() {
|
||||
mcpEmbeddedEnabled=$(get_property "mcp.embedded.enabled")
|
||||
if [[ "${mcpEmbeddedEnabled}" == "true" ]]; then
|
||||
log_info "启动内置 MCP 服务 ..."
|
||||
/shells/wait-for-it.sh 127.0.0.1:8081 --timeout=120 --strict
|
||||
|
||||
log_info "Cordys CRM 已就绪,启动 MCP..."
|
||||
sh /shells/start-mcp.sh &
|
||||
/shells/wait-for-it.sh 127.0.0.1:8082 --timeout=120 --strict
|
||||
log_info "MCP 已就绪"
|
||||
else
|
||||
log_info "使用外部 MCP 服务"
|
||||
fi
|
||||
}
|
||||
|
||||
# ------------------------------
|
||||
# 获取配置函数
|
||||
# ------------------------------
|
||||
get_property() {
|
||||
local key=$1
|
||||
grep "^${key}=" /opt/cordys/conf/cordys-crm.properties | cut -d'=' -f2 | tr -d '[:space:]'
|
||||
}
|
||||
|
||||
# ------------------------------
|
||||
# 主函数
|
||||
# ------------------------------
|
||||
main() {
|
||||
log_info "开始启动 Cordys CRM 环境..."
|
||||
|
||||
# 初始化目录
|
||||
bash /shells/init-directories.sh
|
||||
|
||||
# ------------------------------
|
||||
# MySQL
|
||||
# ------------------------------
|
||||
mysqlEmbeddedEnabled=$(get_property "mysql.embedded.enabled")
|
||||
if [[ "${mysqlEmbeddedEnabled}" == "true" ]]; then
|
||||
log_info "启动内置 MySQL ..."
|
||||
start_mysql
|
||||
else
|
||||
log_info "使用外部 MySQL 服务"
|
||||
fi
|
||||
|
||||
# ------------------------------
|
||||
# Redis
|
||||
# ------------------------------
|
||||
redisEmbeddedEnabled=$(get_property "redis.embedded.enabled")
|
||||
if [[ "${redisEmbeddedEnabled}" == "true" ]]; then
|
||||
log_info "启动内置 Redis ..."
|
||||
start_redis
|
||||
else
|
||||
log_info "使用外部 Redis 服务"
|
||||
fi
|
||||
|
||||
start_mcp_after_cordys &
|
||||
sh /shells/start-cordys.sh
|
||||
|
||||
log_info "Cordys CRM 环境启动完成!"
|
||||
}
|
||||
|
||||
# ------------------------------
|
||||
# 执行主函数
|
||||
# ------------------------------
|
||||
main
|
||||
Reference in New Issue
Block a user