Skip to content

cmcxn/auto-deploy-tool

Repository files navigation

AutoDeployTool - 自动化部署工具

这是一个功能强大的Windows自动化部署工具,支持文件部署、IIS管理、SQL脚本执行和Windows服务管理。

主要功能

🚀 文件部署

  • 支持文件和目录的复制部署
  • 灵活的文件替换规则配置
  • 支持配置文件的智能处理
  • 自动备份目标目录

🌐 IIS管理

  • 本地IIS管理: 使用IIS管理API直接管理本地IIS站点
  • 远程IIS管理: 通过PowerShell远程管理远程服务器上的IIS站点 ⭐新功能
  • 支持站点的启动和停止
  • 部署前后自动管理IIS状态

📊 数据库管理

  • SQL Server脚本执行
  • 支持顺序执行和并行执行
  • 批处理命令支持(GO语句分割)
  • 错误处理和继续执行选项

🔧 Windows服务管理

  • 停止、启动、更新Windows服务
  • 支持多个服务的批量管理
  • 服务状态验证

⚙️ 高级功能

  • 配置文件保存和加载
  • 部署过程验证
  • 详细的日志记录
  • 进度跟踪
  • 取消部署支持

远程IIS管理新功能

解决的问题

在之前的版本中,IIS管理功能只能用于本地服务器,因为ServerManager()只支持本地连接。新版本通过PowerShell远程管理解决了这个限制。

功能特点

  • ✅ 支持远程IIS站点管理
  • ✅ 自动检测本地/远程服务器
  • ✅ 安全的PowerShell远程连接
  • ✅ 连接测试功能
  • ✅ 详细的错误处理和诊断

使用方法

  1. 在目标服务器上运行Setup-WinRM.ps1脚本配置WinRM
  2. 在部署工具中配置服务器地址和凭据
  3. 启用"使用远程IIS管理"选项
  4. 使用"测试远程连接"验证配置

系统要求

  • Windows 10/Windows Server 2016 或更高版本
  • .NET 8.0 Runtime
  • IIS(如果使用IIS功能)
  • SQL Server Client(如果使用SQL功能)
  • PowerShell 5.1 或更高版本(远程IIS管理)

安装

  1. Releases 页面 下载最新版本
  2. 解压到任意目录
  3. 运行 AutoDeployTool.exe

📦 自动化发布: 每次创建新的 Git 标签时,都会自动构建并发布新版本到 GitHub Releases。详情请参考 发布指南流水线使用指南

快速开始

基本部署流程

  1. 配置服务器信息

    • 服务器地址(本地用localhost,远程用IP或主机名)
    • 凭据(远程服务器需要)
    • 目标目录和IIS站点名
  2. 配置文件部署

    • 选择源目录
    • 设置文件替换规则
    • 配置子目录包含选项
  3. 配置可选功能

    • SQL脚本执行
    • Windows服务管理
    • 部署选项设置
  4. 执行部署

    • 验证配置
    • 开始部署
    • 监控进度和日志

远程IIS配置

详细配置说明请参考 远程IIS管理配置指南

配置文件

工具支持保存和加载部署配置(.deploy文件),方便重复使用相同的部署设置。

性能数据

根据测试:

  • SQL脚本执行:

    • 10万条数据:36秒
    • 20万条数据:1分7秒-1分20秒
    • 50万条数据:平均4分钟内
  • 文件部署: 本地部署通常在10秒内完成

  • IIS操作: 站点启停通常在2-5秒内完成

故障排除

远程IIS连接问题

如果远程IIS管理失败,请检查:

  1. WinRM服务是否在目标服务器上启用
  2. 防火墙是否允许5985端口
  3. 用户凭据是否正确
  4. 网络连接是否正常

详细故障排除指南请参考配置文档。

贡献

欢迎提交Issue和Pull Request来改进这个工具。

CI/CD 流水线

本项目配置了完整的 GitHub Actions CI/CD 流水线:

  • 持续集成: 每次 PR 和推送到主分支时自动构建验证
  • 自动发布: 创建 Git 标签时自动构建并发布到 GitHub Releases
  • 多种触发方式: 支持标签推送、GitHub 界面和手动触发

详细使用说明请参考 流水线使用指南

许可证

此项目使用MIT许可证。

更新日志

v2.0.0 (最新)

  • ✨ 新增远程IIS管理功能
  • ✨ 添加PowerShell远程管理支持
  • ✨ 新增连接测试功能
  • 🔧 改进错误处理和诊断
  • 📚 完善文档和配置指南

v1.0.0

  • 🎉 初始版本
  • ✅ 文件部署功能
  • ✅ 本地IIS管理
  • ✅ SQL脚本执行
  • ✅ Windows服务管理

About

自动化部署工具

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors