使用网络钓鱼部署代码


Deploy code with phing

我想使用 Phing 将文件从源文件夹同步到公用文件夹,但问题是当我使用

<copy todir="${libDir}">
        <fileset dir="${gitDir}">
            <include name="**"></include>
            <exclude name="public/**"/>
        </fileset>
</copy>

<filesync sourcedir="${gitDir}" destinationdir="${libDir}" verbose="true" checksum="true" />

该脚本不会从 ${libDir} 中删除文件中的文件,这些文件在 ${gitDir} 中已经不存在。我不想先删除孔目录,然后再复制所有文件。它应该有效,但需要更多时间。您知道如何同步文件夹并删除不存在的文件吗?

我找到了决定。我只是使用 linux 命令:

<exec command="rsync -a --delete --exclude '.git' --exclude '.svn' ${gitDir} ${libDir}" checkreturn="true" />
很容易在

Phing的任何地方使用"exec"来使用本机操作系统工具。

Phing 确实有一个 rsync 任务,它有一个"删除"参数。

使用 rsync 命令同步文件或目录。同步可以是 在同一台服务器上完成或从/到远程服务器。

<filesync  
  sourcedir="/var/www/development/project1"
  destinationdir="/var/www/html/project1"
  dryrun="true"
  itemizechanges="true"
  verbose="true"
  checksum="true"
  delete = "true" />

链接到 phing 文档 FileSyncTask