Php phing是否有可用的ssh和scp任务?

Php phing是否有可用的ssh和scp任务?,php,deployment,phing,Php,Deployment,Phing,我想从我的构建机器到服务器上进行远程部署。远程处理可以通过脚本中的ssh命令来完成,但我更愿意使用phing和deploy.xml文件来实现自动化 我必须从phing构建文件中执行ssh(以及scp)任务,还有哪些替代方案?大约一年前,我遇到了相同的问题,当时我找不到任务。我最后做了一个exec任务,这样它就都在xml文件中了 <exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." /> 如果你真的

我想从我的构建机器到服务器上进行远程部署。远程处理可以通过脚本中的ssh命令来完成,但我更愿意使用phing和deploy.xml文件来实现自动化


我必须从phing构建文件中执行ssh(以及scp)任务,还有哪些替代方案?

大约一年前,我遇到了相同的问题,当时我找不到任务。我最后做了一个exec任务,这样它就都在xml文件中了

<exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." />

如果你真的需要phing,那就只有exec了。如果您对其他工具持开放态度,请查看我在“.”中的答案。

我昨天遇到了一个关于Phing的问题。您还需要按照的说明进行操作。你可能会觉得,我没法直接完成任务。我修改了我的副本,如果您需要,我可以提供。

在Phing中:

使用scp将文件复制到远程主机或从远程主机复制文件。此任务需要运行


例如,我们使用SourceForge服务器的发布文件,也可以通过exec。Rsync理解ssh。

我知道这很旧,但似乎有多个断开的链接和一些错误信息


对于ssh,有ssh2 PECL扩展,然后Phing有和任务

  • 在Mac上,通过自制程序安装libssh2。在Linux上,使用包管理器
  • sudopecl安装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>
    
    
    当前工作目录是${pwd}
    
    谢谢。。。我过去用过capistrano,我很满意。然而,这意味着您的团队现在需要理解两种语言(PHP和一点Ruby)。我宁愿选择一个解决方案,但我们都必须务实……这是一个真正的问题。然而,一个好的程序员将在不到一天的时间内学会处理capistrano Make文件。相信我。例如,我通常不做任何Ruby,我在不到八个小时的时间内用名称空间编写了任务。capistrano的文档非常棒。你不能回答使用Phing任务进行公钥身份验证的问题。@业余咖啡师:首先,我回答总是有
    。然后,我提供了一个替代方案,它可以直接实现。您也可以通过capistrano运行phing任务。如果您正在使用WAMP,只需左键单击WAMP图标,转到PHP->PHP扩展,然后启用PHP_ss2。