我正在为在某些情况下需要通过FTP部署php web应用程序的公司工作。 我正在自动执行部署过程,并需要编写一个脚本来将这些文件传输到分段和生产环境。
要求:
限制:
我的问题:是否有任何基于FTP的工具可以满足这些要求,而不是自己写?
只要你控制客户端,你可以在客户端上使用FTPFS,然后通过FTPFS目录将本地目录rsync同步到显然是本地但真正挂载的目录。
我知道FTPFS现在是LUFS的一部分。
编辑 :我很想链接到一个教程,但我通常只是从项目wiki开始,现在似乎有一些与sourceforge。 似乎基于cURL和FUSE的CurlFTPFS 可以在这里find ,挂载/卸载看起来像这样简单:
$ mkdir sunet $ curlftpfs ftp://ftp.sunet.se/ sunet/ $ cd sunet/ $ ls -l total 0 Dr-xr-xr-x 3 root root 96 Feb 23 2004 bin dr-xr-xr-x 2 root root 72 Mar 2 2004 dev dr-xr-xr-x 2 root root 48 Feb 23 2004 etc dr-xr-xr-x 2 root root 120 Feb 23 2004 lib -rw-r--r-- 1 root root 622187310 Mar 11 06:13 ls-lR -rw-r--r-- 1 root root 76389037 Mar 11 06:15 ls-lR.gz drwxrwxr-x 37 root root 1272 Feb 27 14:17 pub dr-xr-xr-x 3 root root 72 Feb 23 2004 usr $ cd .. $ fusermount -u sunet/
我们使用ant来进行脚本和自动化。 antFTP任务有一个“依赖”参数,只传输新的或更改的文件http://ant.apache.org/manual/Tasks/ftp.html
也许沿着ncftp的路线来同步一个目录到服务器。 您可以尽可能将其删除到capistrano(覆盖:部署并运行ncftp命令,一旦您检出了要部署的版本)。