2013-07-24 115 views
1

我正在開發一個使用codeigniter框架的站點。我正在嘗試瞭解PHING。起初我想如果我們編寫一些xml文件,它會構建該文件夾結構。但是當我閱讀文檔時,它似乎將文件從本地複製到遠程主機。在本地主機上部署測試應用程序phing

它是否將系統中的所有文件複製到遠程主機?或者我錯了?如果是這樣,它與在filezilla中手動複製文件有什麼不同?

其次,如果它複製文件...我想測試本地主機的功能。我在google上找到了以下腳本。我將主機名更改爲本地主機並嘗試,但它說它無法連接到主機。如果有人在本地主機上測試過,你能告訴我該怎麼做嗎?

<?xml version="1.0" ?> 
<project name="Shared hosting deployment" default="deploy-application-files" basedir="."> 

    <property name="ftp.host" value="localhost" /> 
    <property name="ftp.port" value="21" /> 
    <property name="ftp.username" value="uname" /> 
    <property name="ftp.password" value="pass" /> 
    <property name="ftp.dir" value="C:\wamp\www\mlp_phing" /> 
    <property name="ftp.mode" value="ascii" /> 

    <!-- FILESETS --> 
    <fileset dir="." id="files.images"> 
     <include name="images/**/*" /> 
     <include name="favicon.ico" /> 
    </fileset> 
    <fileset dir="." id="files.application"> 
     <include name="system/application/**/*" /> 
     <include name="css/*" /> 
     <include name="js/*" /> 
    </fileset> 
    <fileset dir="." id="files.system"> 
     <include name="system/**/*" /> 
     <exclude name="system/application/**/*" /> 
     <include name="index.php" /> 
     <include name="robots.txt" /> 
     <include name=".htaccess" /> 
    </fileset> 

    <!-- DEPLOYMENT TARGETS --> 
    <target name="deploy"> 
     <echo message="Copying fileset '${deploy.fileset.refid}' to ${ftp.host} in ${ftp.mode} mode" /> 
     <ftpdeploy 
      host="${ftp.host}" 
      port="${ftp.port}" 
      username="${ftp.username}" 
      password="${ftp.password}" 
      dir="${ftp.dir}" 
      mode="${ftp.mode}"> 
      <fileset refid="${deploy.fileset.refid}" /> 
     </ftpdeploy> 
    </target> 
    <target name="deploy-images"> 
     <echo msg="Deploying image files" /> 
     <phingcall target="deploy"> 
      <property name="deploy.fileset.refid" value="files.images" /> 
      <property name="ftp.mode" value="binary" override="true" /> 
     </phingcall> 
    </target> 
    <target name="deploy-application-files"> 
     <echo msg="Deploying application files" /> 
     <phingcall target="deploy"> 
      <property name="deploy.fileset.refid" value="files.application" /> 
     </phingcall> 
    </target> 
    <target name="deploy-system-files"> 
     <echo msg="Deploying system files" /> 
     <phingcall target="deploy"> 
      <property name="deploy.fileset.refid" value="files.system" /> 
     </phingcall> 
    </target> 
    <target name="deploy-all"> 
     <phingcall target="deploy-images" /> 
     <phingcall target="deploy-application-files" /> 
     <phingcall target="deploy-system-files" /> 
    </target> 
</project> 
+0

你提的問題是很難理解的,首先你設置你的FTP爲localhost,其次究竟是你想怎麼辦?將文件從本地主機複製到另一臺服務器或構建文件夾結構? – Wyck

+0

我只是想知道phing是如何工作的。可以說我想製作一個使用它的文件夾結構。我想在本地機器上測試該功能。但我無法想象它如何 – user1346107

回答

0

Phing有很多命令,其中有幾個是類似於Linux或者您可以使用ExecTask和公正運行本地命令。

要建立你只寫<touch file="README.txt" />,創造你會寫<mkdir dir="myDirectory" />

目錄中的文件,但是,這並不是Phing真的怎樣來使用,而不是你會做這樣的事情:

<touch file="${my.files.name}" />然後在build.properties您將設置${my.files.name}

如果你想抓住你可以使用FtpDeployTask爲FTP,SshTask使用SSH遠程文件時,GitCloneTask到使用混帳等,等等(有更多的選擇)。

如果你只是想建立你應該看看Compser的文件結構,它聽起來就像你不理解Phing的基礎,所以我建議您閱讀文檔,並試圖簡單的東西,

http://www.phing.info/docs/guide/stable/

Phing和FileZilla中沒有任何共同之處(除了良好FTP支持Phing),Phing是https://en.wikipedia.org/wiki/Build_automation

相關問題