这是一个功能强大的Windows自动化部署工具,支持文件部署、IIS管理、SQL脚本执行和Windows服务管理。
- 支持文件和目录的复制部署
- 灵活的文件替换规则配置
- 支持配置文件的智能处理
- 自动备份目标目录
- 本地IIS管理: 使用IIS管理API直接管理本地IIS站点
- 远程IIS管理: 通过PowerShell远程管理远程服务器上的IIS站点 ⭐新功能
- 支持站点的启动和停止
- 部署前后自动管理IIS状态
- SQL Server脚本执行
- 支持顺序执行和并行执行
- 批处理命令支持(GO语句分割)
- 错误处理和继续执行选项
- 停止、启动、更新Windows服务
- 支持多个服务的批量管理
- 服务状态验证
- 配置文件保存和加载
- 部署过程验证
- 详细的日志记录
- 进度跟踪
- 取消部署支持
在之前的版本中,IIS管理功能只能用于本地服务器,因为ServerManager()只支持本地连接。新版本通过PowerShell远程管理解决了这个限制。
- ✅ 支持远程IIS站点管理
- ✅ 自动检测本地/远程服务器
- ✅ 安全的PowerShell远程连接
- ✅ 连接测试功能
- ✅ 详细的错误处理和诊断
- 在目标服务器上运行
Setup-WinRM.ps1脚本配置WinRM - 在部署工具中配置服务器地址和凭据
- 启用"使用远程IIS管理"选项
- 使用"测试远程连接"验证配置
- Windows 10/Windows Server 2016 或更高版本
- .NET 8.0 Runtime
- IIS(如果使用IIS功能)
- SQL Server Client(如果使用SQL功能)
- PowerShell 5.1 或更高版本(远程IIS管理)
- 从 Releases 页面 下载最新版本
- 解压到任意目录
- 运行
AutoDeployTool.exe
📦 自动化发布: 每次创建新的 Git 标签时,都会自动构建并发布新版本到 GitHub Releases。详情请参考 发布指南 和 流水线使用指南。
-
配置服务器信息
- 服务器地址(本地用localhost,远程用IP或主机名)
- 凭据(远程服务器需要)
- 目标目录和IIS站点名
-
配置文件部署
- 选择源目录
- 设置文件替换规则
- 配置子目录包含选项
-
配置可选功能
- SQL脚本执行
- Windows服务管理
- 部署选项设置
-
执行部署
- 验证配置
- 开始部署
- 监控进度和日志
详细配置说明请参考 远程IIS管理配置指南
工具支持保存和加载部署配置(.deploy文件),方便重复使用相同的部署设置。
根据测试:
-
SQL脚本执行:
- 10万条数据:36秒
- 20万条数据:1分7秒-1分20秒
- 50万条数据:平均4分钟内
-
文件部署: 本地部署通常在10秒内完成
-
IIS操作: 站点启停通常在2-5秒内完成
如果远程IIS管理失败,请检查:
- WinRM服务是否在目标服务器上启用
- 防火墙是否允许5985端口
- 用户凭据是否正确
- 网络连接是否正常
详细故障排除指南请参考配置文档。
欢迎提交Issue和Pull Request来改进这个工具。
本项目配置了完整的 GitHub Actions CI/CD 流水线:
- 持续集成: 每次 PR 和推送到主分支时自动构建验证
- 自动发布: 创建 Git 标签时自动构建并发布到 GitHub Releases
- 多种触发方式: 支持标签推送、GitHub 界面和手动触发
详细使用说明请参考 流水线使用指南。
此项目使用MIT许可证。
- ✨ 新增远程IIS管理功能
- ✨ 添加PowerShell远程管理支持
- ✨ 新增连接测试功能
- 🔧 改进错误处理和诊断
- 📚 完善文档和配置指南
- 🎉 初始版本
- ✅ 文件部署功能
- ✅ 本地IIS管理
- ✅ SQL脚本执行
- ✅ Windows服务管理