【问题标题】:Deploy only newer files with Phing仅使用 Phing 部署较新的文件
【发布时间】:2013-01-05 23:03:50
【问题描述】:

我正在使用 Phing 作为我正在开发的网站的构建工具。我有一个在本地主机上运行的服务器来测试我自己的系统上的东西,我在它最终要运行的服务器上有一个测试环境。部署到该测试环境目前是通过对所有构建的文件进行 tar 处理,将 tar 文件上传到服务器并在那里解压缩来完成的。

但是,由于我还使用了相当多的图像,所以这需要很长时间;本地部署需要 10 秒,远程部署需要 4 分钟。有什么方法可以比较 2 个目录中的文件,只 tar 一个目录中较新的文件(这样我可以保留构建目录的卷影副本以比较文件日期)或其他最佳实践?

我一直在考虑尝试的其他方法是使用 git 上传网站。有什么想法吗?

【问题讨论】:

  • 你为什么不做一个 rsync 而不是一个 tarball??
  • @m4t1t0 phing 是一种构建工具,不支持 rsync 不提供的许多其他功能。
  • Rsync 是一种可能,尽管我的印象是它需要在本地和远程安装。我非常不想将它安装在远程机器上。
  • FileSyncTask 适合你吗?
  • 嗯,去试试那个。

标签: php phing


【解决方案1】:

昨天我遇到了同样的问题,这个答案解决了我的问题

Phing - Deploy with FTP but only overwrite when size has changed

【讨论】:

  • 一个问题:我明确不想使用 FTP 或 SCP 单独复制所有文件,因为这需要更长的时间(大量非常小的文件)。
  • 好吧,我的解决方案中也没有使用 FTP,而是使用了生成构建日期和时间并将其保存在文件中的想法。然后我只将上次构建日期和时间之后修改的文件复制到部署目录中。
  • 花了一些时间,但我设法让同样的想法发挥作用:)
  • 很高兴知道,我也花了几个小时才让它满足我的需要,但在那之后只是在其他一些情况下重复使用。
猜你喜欢
  • 1970-01-01
  • 2011-11-29
  • 1970-01-01
  • 1970-01-01
  • 2012-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多