Развертывание тестового приложения на localhost с помощью phing

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

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

Во-вторых, если он копирует файлы... Я хочу проверить эту функциональность в localhost. Я нашел следующий скрипт на Google. Я изменил имя хоста на localhost и попытался, но он говорит, что не может подключиться к хосту. Если кто-нибудь раньше тестировал на 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>

1 ответ

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

Другие вопросы по тегам