我想从构建计算机远程部署到服务器上。远程处理可以通过脚本中的ssh命令完成,但我宁愿使用phing和deploy.xml文件进行自动化。
我还需要在phing构建文件中执行ssh(以及scp)任务的其他选择吗?
答案 0 :(得分:15)
使用scp将文件复制到远程主机或从远程主机复制文件。此任务需要 PHP SSH2 extension 才能运行...
答案 1 :(得分:9)
我昨天遇到了SCP and SSH tasks Phing。您还需要按照installing SSH2 for PHP的说明操作。你可能,我无法让任务直接开箱即用。我修改了我的副本,如果你需要我可以提供。
答案 2 :(得分:5)
我在一年前遇到了同样的问题,当时我找不到任务。我最终做了一个exec任务,这样就完全在xml文件中了。
<exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." />
答案 3 :(得分:2)
我知道这是旧的,但似乎有多个断开的链接和一些错误的信息。
ScpTask: http://www.phing.info/docs/guide/stable/apcs60.html
答案 4 :(得分:1)
对于SemanticScuttle,我们使用rsync to deploy版本文件到SourceForge服务器 - 也通过exec。 Rsync理解ssh。
答案 5 :(得分:0)
对于ssh,有ssh2 PECL扩展,然后Phing有ssh和scp任务。
sudo pecl install pecl.php.net/ssh2-0.12
您现在可以执行此操作:
<?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>
答案 6 :(得分:-2)
如果你真的需要phing,那么afaik只有exec。如果您对其他工具持开放态度,请查看capistrano以及“Setting up a PHP web project, the infrastructure.”中的答案。