【问题标题】:Automatic FTP deploy: is there any automatic / programmable tool available? [closed]自动 FTP 部署:是否有任何自动/可编程工具可用? [关闭]
【发布时间】:2017-01-26 20:34:27
【问题描述】:

我需要这个

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

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

我正在寻找建议/想法.... gulp?咕哝?节点?不:)?

实际上我不知道构建工具。因此,在尝试/尝试每个选项之前,我会向您征求建议。

编辑:请注意,我要求使用 Continuos 部署工具来监视文件更改并上传到 FTP。

我不能选择改变 FTP ......我只会换工作

【问题讨论】:

  • 为什么不直接上传修改过的文件呢?修改单个文件比上传整个文件夹要快。
  • @RayRadin:没问题,这更好,但是......哪个工具可以处理这种自动部署?
  • 观看内容变化:inotifywait;远程机器上的身份验证:ssh;文件同步:rsync,配方在这个答案中:askubuntu.com/a/339241。所有这些组合在一起称为lsyncd。
  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describe the problem 以及迄今为止为解决它所做的工作。

标签: ftp web-deployment continuous-deployment


【解决方案1】:

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

You can read about app service CD on Azure here

当然,您可以使用许多不同的持续部署解决方案。这是一个我比较熟悉的具体例子。 Here is a list of other solutions, each with their own sets of functionality.如果你做研究,我相信你会找到你需要的(而不是写一个脚本来为你做目录监控和 FTP)

【讨论】:

  • “持续部署解决方案”:好的,完全是“FTP 不一定”。这就是问题所在......在 2017 年,要避免 FTP 部署,但我不能选择这个......我们只有共享主机服务,所以我认为只有 FTP 作为真正的部署解决方案这是问题的来源:“这是一场等待发生的灾难”......在一个非常大的代码树中上传单个文件夹和/或文件可能会导致所有可能的不一致代码状态......所以:我需要一个可以管理 FTP 作为最终部署通道的 CD 工具
  • 我不确定我是否理解您的要求。使用 CD 解决方案时,FTP 可能是最终结果……您选择的任何 CD 解决方案都必须在出现新文件时将文件上传到服务器,对吗?你认为这如何完成?可能是FTP在幕后。您的“共享主机服务”导致无法设置 CD 怎么办?
【解决方案2】:

您描述的用户案例是独一无二的,因此您不会找到一个已经构建的解决方案,您可以简单地运行它并完成它。您需要创建自己的。

观看目录。

这可以翻译为“您的代码需要注意文件上传”。这可以通过将“通知”推送到您的代码或您的代码自行拉“通知”来实现。

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

pull 最简单的方法是 tail FTP 日志并查找 STOR 命令,匹配您的监视目录(通过正则表达式)然后打开匹配执行 bash/PHP 或任何其他脚本以制作 步骤 (2)。 步骤 (2) 是一些 ftp 客户端命令。

对于 PHP:

【讨论】:

    猜你喜欢
    • 2015-04-11
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 2013-01-15
    相关资源
    最近更新 更多