2008-10-23 92 views
5

我想做從我的生成機遠程部署到服務器上。遠程處理可以通過腳本中的ssh命令完成,但我寧願使用phing和一個可以執行自動化的deploy.xml文件。是否有可用於phing的ssh和scp任務?

還有什麼替代方法可以在phing構建文件中執行ssh(也包括scp)任務?

回答

-2

如果你確實需要phing,那麼afaik只有exec。如果您打開其他工具,請查看capistrano並在「Setting up a PHP web project, the infrastructure.」中回答。

+0

謝謝...我過去使用Capistrano的,我很高興。但是,這意味着您的團隊現在需要了解2種語言(PHP和一些Ruby)。我寧願去尋求解決方案,但我們都必須務實...... – Johan 2008-10-23 20:48:36

+0

這是一個真正的關注點。然而,一個好的程序員將學會在不到一天的時間內處理一個capistrano makefile。相信我。例如,我通常不會做任何Ruby,而且我已經在不到八個小時的時間內用命名空間編寫任務。 capistrano的文檔非常棒。 – Till 2008-10-23 22:38:05

5

大約一年前我遇到了同樣的問題,當時我找不到任務。我最終做了一個exec任務,這樣它就全部在xml文件中。

<exec command="scp -i keys/id_rsa myfile [email protected]$server:myfile" dir="." /> 
0

對於SSH,還有的SSH2 PECL擴展,然後Phing有sshscp任務。

  1. 在Mac上,通過Homebrew安裝libssh2。在Linux上,使用你的軟件包管理器。
  2. 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> 
相關問題