Развертывание тестового приложения на 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