diff --git a/src/metric/client-plugins/demo-all-in-one/publish_artifact.sh b/src/metric/client-plugins/demo-all-in-one/publish_artifact.sh index 710b27a..d346622 100755 --- a/src/metric/client-plugins/demo-all-in-one/publish_artifact.sh +++ b/src/metric/client-plugins/demo-all-in-one/publish_artifact.sh @@ -104,6 +104,13 @@ if [[ -f "uninstall_artifact.sh" ]]; then cp "uninstall_artifact.sh" "$TEMP_PACKAGE_DIR/uninstall.sh" fi +# 复制 deps 目录 +if [[ -d "$ARTIFACT_DIR/deps" ]]; then + log_info "复制系统依赖包..." + cp -r "$ARTIFACT_DIR/deps" "$TEMP_PACKAGE_DIR/" + log_success "系统依赖包复制完成" +fi + # 创建tar包,使用新的命名规范 TAR_NAME="argus-metric_$(echo $VERSION | tr '.' '_').tar.gz" log_info "创建发布包: $TAR_NAME" diff --git a/src/metric/client-plugins/demo-all-in-one/setup.sh b/src/metric/client-plugins/demo-all-in-one/setup.sh index 87128f7..e0c7ef5 100644 --- a/src/metric/client-plugins/demo-all-in-one/setup.sh +++ b/src/metric/client-plugins/demo-all-in-one/setup.sh @@ -347,7 +347,7 @@ rollback_to_backup() { log_success "版本回滚完成: $backup_name" # 启动服务 - start_services + # start_services return 0 else log_error "版本回滚失败" @@ -416,27 +416,28 @@ manual_stop_services() { start_services() { log_info "启动服务..." - if [[ -f "$CURRENT_LINK/install.sh" ]]; then - cd "$CURRENT_LINK" - chmod +x install.sh - - # 检查服务是否已经在运行 - if check_services_running; then - log_info "服务已在运行,跳过启动" - return 0 - fi - - # 启动服务 - 传递正确的安装目录参数 - if ./install.sh "$INSTALL_DIR" 2>/dev/null; then - log_success "服务启动完成" - else - log_error "服务启动失败" - return 1 - fi - else - log_error "未找到安装脚本" - return 1 + # 检查服务是否已经在运行 + if check_services_running; then + log_info "服务已在运行,跳过启动" + return 0 fi + + # 由于 install_artifact.sh 已经安装了所有组件并设置了健康检查定时任务 + # 这里只需要简单验证服务状态即可 + log_info "组件已安装完成,健康检查定时任务已设置" + log_info "服务将在健康检查时自动启动(每5分钟检查一次)" + + # 等待一下让服务有时间启动 + sleep 3 + + # 验证服务状态 + if check_services_running; then + log_success "服务启动成功" + else + log_info "服务可能正在启动中,健康检查机制将自动监控" + fi + + return 0 } # 检查服务是否正在运行 @@ -605,7 +606,7 @@ install_argus_metric() { cd "$version_dir" if [[ -f "install.sh" ]]; then chmod +x install.sh - # 传递版本目录作为安装目录给安装脚本 + # 传递安装根目录给安装脚本,让install_artifact.sh安装到正确的版本目录 if ./install.sh "$version_dir"; then log_success "安装脚本执行完成" else @@ -639,7 +640,7 @@ install_argus_metric() { update_latest_version_file "$ARGUS_VERSION" # 启动服务 - start_services + # start_services log_success "Argus Metric v$ARGUS_VERSION 安装完成!"