我正在尝试让我的持续集成系统在开发环境中从头到尾运行。
不幸的是,发布后的最后一步是将文件夹复制到异地服务器,我只能通过 FTP 访问该服务器。
我想要运行一项服务来监视本地文件夹,如果文件夹发生变化,则使用这些变化来更新 FTP 服务器。
我似乎无法在 Windows 中找到可以实现此目的的方法。
答案1
答案2
尝试免费版本同步备份。它不进行实时文件夹监控,但您可以安排它以指定的时间间隔进行同步。将其设置为 1 分钟等较短的时间。
答案3
基于git的免费开源解决方案:
使用git ftp用于同步。安装并设置本地 git 存储库后,您可以执行以下操作:
- git ftp init -u < user> -P ftp://host.example.com/public_html #第一次推送
- git ftp push --user <用户> --passwd <密码> ftp://host.example.com/public_html
现在您只需要监视文件系统的变化,将它们添加到您的本地 git 存储库并使用上述命令推送您的存储库。
优点:
- git-ftp 适用于 Windows 和 Linux(在 Windows 上使用 mysys git 进行测试)
- 如果你已经在使用 git,它可以很好地集成到你的开发设置中
- 非常容易设置和使用(如果你熟悉 git)
- 增量更改 -> 节省大量带宽
缺点:
- 您需要找到一个解决方案来监视文件系统的变化(应该不太难,例如 nodejs 对此有解决方案)
下面是我在 Windows 上使用的批处理文件的示例:
@echo off
git init .
git add . --all
git commit -am "auto commit"
set /p pwd= Please enter ftp password:
git ftp push --user myftpuser --passwd %pwd% ftp://myftphost.com/myfolder
请注意,这是一个交互式示例,但您可以通过将密码存储在批处理文件中使其变为非交互式。