自动FTP部署:是否有可用的自动/可编程工具



我需要这个

  • 观看目录内容
  • 目录内容更改时
    • 删除特定的ftp文件夹
    • 将所有目录内容上载到同一ftp文件夹

我完全不知道完成这项任务的最佳方法。

我正在寻求建议/想法。。。。吞咽咕哝节点?否:)?

事实上,我不知道构建工具。所以,在尝试/否定每一个选项之前,我会征求你的建议。

编辑:请注意,我要求一个能够监视文件更改并上传到FTP的Continuos部署工具。

我无法选择更改FTP。。。我只会换的工作

您需要的是一个连续部署解决方案。FTP不一定是需要做的。你还没有提到技术堆栈,但如果你(例如)在Visual Studio中工作,你可以通过Azure集成轻松地设置到应用程序服务的连续部署。这样,每当你在VS中打开项目时,如果你更改代码并保存它们,它们就会上传到你的应用程序中。

你可以在这里阅读有关Azure上的应用程序服务CD

当然,您可以使用许多不同的连续部署解决方案。这是一个我比较熟悉的具体例子。以下是其他解决方案的列表,每个解决方案都有自己的功能集。如果你做你的研究,我相信你会找到你需要的(而不是写一个脚本为你做目录监控和FTP)

您所描述的用户案例是唯一的,因此您不会找到一个已经构建好的解决方案,在那里您可以简单地运行它并完成它。你将需要创建自己的。

监视目录

这可以转化为"您的代码需要注意文件上传"。这可以通过将"通知"推送到您的代码上,或者您的代码自行拉取"通知"来实现。

遗憾的是,来自FTP服务器的推送将不起作用,因为(据我所知)没有FTP服务器支持文件上传时的推送通知。要理解我在这里的意思,请考虑SVN提交后挂钩。

使pull最简单的方法是跟踪FTP日志并查找STOR命令,匹配您的监视目录(通过regexp),并在匹配时执行bash/PHP或任何其他脚本以使步骤(2)步骤(2)是一些ftp客户端命令。

对于PHP:

  • 删除目录:http://ee1.php.net/manual/en/function.ftp-rmdir.php
  • 上传一个文件(在评论中有递归的例子来上传目录和它的内容):http://ee.php.net/manual/en/function.ftp-put.php