#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Nacos 初始化模块 """ import subprocess from pathlib import Path import sys # 添加父目录到路径 sys.path.insert(0, str(Path(__file__).parent.parent)) from log import Logger def init_nacos(project_root): """ 初始化 Nacos 参数: project_root: 项目根目录 返回: bool: 成功返回 True,失败返回 False """ try: project_root = Path(project_root).resolve() Logger.separator() Logger.info("开始初始化 Nacos") Logger.separator() Logger.info(f"项目根目录: {project_root}") docker_dir = project_root / "docker" # 构建并启动 Nacos 容器 Logger.info(f"执行目录: {docker_dir}") Logger.info("执行命令: docker-compose build --no-cache ruoyi-nacos") result = subprocess.run( "docker-compose build --no-cache ruoyi-nacos", shell=True, cwd=docker_dir, capture_output=True, text=True ) if result.returncode != 0: Logger.error("Nacos 镜像构建失败") if result.stderr: Logger.error(f"错误信息: {result.stderr}") return False Logger.info("Nacos 镜像构建成功") Logger.info("执行命令: docker-compose up -d ruoyi-nacos") result = subprocess.run( "docker-compose up -d ruoyi-nacos", shell=True, cwd=docker_dir, capture_output=True, text=True ) if result.returncode != 0: Logger.error("Nacos 容器启动失败") if result.stderr: Logger.error(f"错误信息: {result.stderr}") return False Logger.info("Nacos 容器启动成功") Logger.info("Nacos 初始化完成") return True except Exception as e: Logger.error(f"Nacos 初始化异常: {e}") return False