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

我还需要在phing构建文件中执行ssh(以及scp)任务的其他选择吗?

有帮助吗?

解决方案

如果你真的需要phing,那么afaik只有exec。如果您对其他工具持开放态度,请查看 capistrano ,并在“设置PHP Web项目,即基础架构。“。

其他提示

在Phing中 SCPTask

  

使用scp将文件复制到远程主机或从远程主机复制文件。此任务需要 PHP SSH2扩展 正常运作......

我遇到了 SCP和SSH任务昨天为Phing。您还需要按照安装SSH2 for PHP 的说明进行操作。你可能,我无法让任务直接开箱即用。我修改了我的副本,如果你需要我可以提供。

我在一年前遇到了同样的问题,当时我找不到任务。我最终做了一个exec任务,这样就完全在xml文件中了。

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

对于 SemanticScuttle ,我们使用 rsync要部署发布文件到SourceForge服务器 - 也通过exec 。 Rsync理解ssh。

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

  1. 在Mac上,通过Homebrew安装libssh2。在Linux上,使用您的包管理器。
  2. sudo pecl install pecl.php.net/ssh2-0.12
  3. 您现在可以执行此操作:

    <?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>
    
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top