我想从我的构建机器远程部署到服务器上。远程处理可以通过脚本中的 ssh 命令来完成,但我宁愿使用 phing 和可以执行自动化的 deploy.xml 文件。
我必须从 phing 构建文件中执行 ssh(以及 scp)任务的替代方法是什么?
我想从我的构建机器远程部署到服务器上。远程处理可以通过脚本中的 ssh 命令来完成,但我宁愿使用 phing 和可以执行自动化的 deploy.xml 文件。
我必须从 phing 构建文件中执行 ssh(以及 scp)任务的替代方法是什么?
使用 scp 将文件复制到远程主机或从远程主机复制文件。此任务需要PHP SSH2 扩展才能运行...
我昨天遇到了Phing 的SCP 和 SSH 任务。您还需要按照安装 SSH2 for PHP的说明进行操作。我无法让任务直接开箱即用,你可能会。我修改了我的副本,如果你需要我可以提供。
大约一年前我遇到了同样的问题,那时我找不到任务。我最终做了一个 exec 任务,这样它就在 xml 文件中。
<exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." />
我知道这很旧,但似乎有多个断开的链接和一些错误信息。
ScpTask:http: //www.phing.info/docs/guide/stable/apcs60.html
对于SemanticScuttle,我们使用rsync 将发布文件部署到 SourceForge 服务器 - 也通过 exec。Rsync 理解 ssh。
For ssh, there's the ssh2 PECL extension and then Phing has the ssh and scp tasks.
sudo pecl install pecl.php.net/ssh2-0.12
You can now do this:
<?xml version="1.0"?>
<project name="test" default="test">
<target name="test">
<ssh username="vagrant" password="vagrant" host="192.168.123.456"
command="pwd" property="pwd" display="false" />
<echo>The current working directory is ${pwd}</echo>
</target>
</project>
如果你真的需要 phing,那么 afaik 只有 exec。如果您愿意使用其他工具,请查看capistrano和我在“设置 PHP Web 项目,基础设施”中的回答。