我在一家公司工作,在某些情况下必须通过 FTP 部署 php web 应用程序。我正在自动化部署过程,需要编写一个脚本来将文件通过 FTP 传输到暂存和生产环境。
要求:
- 应该只将新的或更改的文件传输到远程服务器
限制:
- 在远程环境中没有任何类型的 shell 访问
- 无法使用 rsync
- 仅 FTP 可用
我的问题:有没有我可以使用的基于 FTP 的实用程序来满足这些要求而不是自己编写?
我在一家公司工作,在某些情况下必须通过 FTP 部署 php web 应用程序。我正在自动化部署过程,需要编写一个脚本来将文件通过 FTP 传输到暂存和生产环境。
要求:
限制:
我的问题:有没有我可以使用的基于 FTP 的实用程序来满足这些要求而不是自己编写?
只要你控制了客户端,你就可以在客户端使用 FTPFS,然后将本地目录 rsync 到表面上是本地但实际上是通过 FTPFS 挂载的目录。
我知道 FTPFS 现在是LUFS的一部分。
编辑:我很想链接到一个教程,但我通常只是从项目 wiki 开始,现在 sourceforge 似乎出了点问题。CurlFTPFS 似乎是基于 cURL 和 FUSE 的,可以在这里找到,而且那里的挂载/卸载似乎很简单:
我们使用 ant 来编写脚本和自动化。ant FTP 任务有一个“依赖”参数,它只传输新的或更改的文件http://ant.apache.org/manual/Tasks/ftp.html
也许类似于 ncftp 将目录同步到服务器。您甚至可以将其放入 capistrano(一旦签出要部署的版本,覆盖 :deploy 并运行 ncftp 命令)。