diff --git a/.devops/deployer.py b/.devops/deployer.py index 8d3d930..48a21bc 100644 --- a/.devops/deployer.py +++ b/.devops/deployer.py @@ -155,10 +155,20 @@ class Deployer: self.logger.info(f"开始构建: {repo_config['name']}") - # 执行构建命令(在主仓库根目录执行) + # 根据项目类型选择执行目录 + if repo_config['type'] == 'nodejs': + # Node.js 项目在子模块目录执行 + build_dir = repo_path / repo_config['path'] + self.logger.info(f"Node.js 项目,在子模块目录执行构建") + else: + # Java 项目在主仓库根目录执行 + build_dir = repo_path + self.logger.info(f"Java 项目,在主仓库根目录执行构建") + + # 执行构建命令 for cmd in repo_config['build_commands']: self.logger.info(f"执行构建命令: {cmd}") - if not self.run_command(cmd, cwd=repo_path, timeout=1800): + if not self.run_command(cmd, cwd=build_dir, timeout=1800): self.logger.error(f"构建失败: {cmd}") return False