我希望将文件从本地 Windows 机器(我的开发机器)复制到另一台 Windows 机器(生产机器)。
目前,我可以将文件从一台机器移动到另一台机器的唯一方法是手动使用 Ftp FileZilla 客户端。生产服务器托管未启用 SSL 的 FTP 服务器。
我正在寻找有关如何以最简单的方式安全地将目录从开发机器复制到生产机器的建议。唯一的要求是该解决方案允许以脚本方式复制目录。
我知道有以下可能性:
- 创建VPN并共享文件夹
- 在生产机器上设置 SSH 服务器
开发机器运行的是 Windows 7,生产机器是运行 Windows Server 2008 R2 的 Amazon EC2 实例。它们不在同一个网络或家庭组中。
你会推荐什么?
谢谢,杰森
答案1
有几种方法可以实现这一点:
微软提供 Web Deploy http://www.iis.net/download/webdeploy
我在部署大型网站(约 3-500 MB)时遇到了问题
如果你想要 SSH,我可以推荐一个基于 powershell 的 SSH 服务器 http://www.powershellinside.com/powershell/ssh
我个人最喜欢使用 git - 您可以利用 github 来获得外部存储库;或者您可以从您的开发系统推送到您的生产系统。还可以使变更审计/回滚变得容易得多。您需要:tortoise git -http://code.google.com/p/tortoisegit/downloads/list msysgit-http://code.google.com/p/msysgit/downloads/list
如果你够大胆,你也可以使用 Dropboxhttp://www.dropbox.com将文件同步到一个或多个 Web 服务器。
答案2
另一个选择是设置一个源代码控制存储库,让服务器自动将新修订版本拉入生产树。Mercurial 似乎非常适合这样做。
为了安全方面,您可以设置 HTTPS 作为传输方式并要求登录才能访问源代码控制。
答案3
您可以使用命令行 FTP 客户端和脚本来自动执行 FTP 命令。
命令行 FTP 客户端示例: 远程FTP