2013-07-24 6 views
1

Я разрабатываю сайт с использованием рамки codeigniter. Я пытаюсь понять PHING. Сначала я подумал, что если мы напишем некоторый XML-файл, он строит эту структуру папок. Но когда я читаю документацию, кажется, что она копирует файлы с локального на удаленный хост.развертывание тестового приложения на localhost с phing

Скопирует ли все файлы из вашей системы на удаленный хост? Или я ошибаюсь? Если да, то как это отличается от копирования файлов вручную в filezilla?

Во-вторых, если он копирует файлы ... Я хочу проверить эту функциональность в localhost. Я нашел следующий скрипт в google. Я изменил имя хоста на localhost и попытался, но он говорит, что он не может подключиться к хосту. Если кто-нибудь протестировал на локальном хосте раньше, можете ли вы рассказать мне, как это сделать?

<?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 на локальный, во-вторых, что именно вы пытаетесь сделать? Скопировать файлы с локального хоста на другой сервер или создать структуру папок? – Wyck

+0

Я просто хочу знать, как работает финг. Допустим, я хочу создать структуру папок. Я хочу проверить эту функциональность на своей локальной машине. Но я не могу понять, как – 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 к использовать git и т. д. и т. д. (есть больше вариантов).

Если вы просто хотите, чтобы построить структуру файла, вы должны взглянуть на Compser, это звучит, как вы, не понимая основы Phing поэтому я предлагаю читать документацию и пытается что-то простое,

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

не

Phing и Filezilla имеют ничего общего (ну, кроме FTP поддержки в Phing), Phing является https://en.wikipedia.org/wiki/Build_automation