Я никогда не использовал систему контроля версий для отправки файлов на рабочий сервер, но это звучит интересно. Что я делаю, так это использую ANT.
Я обнаружил, что, располагая рабочее пространство непосредственно на сервере, создается множество скрытых файлов, и если вы используете систему управления версиями, эти скрытые файлы могут находиться в каждом каталоге. Я не чувствовал себя правильным просто копировать и вставлять их на свой рабочий сервер ...
Итак: я настроил свое рабочее пространство так, чтобы код был в одном месте, а не на моем локальном сервере. Когда я готов к тестированию, я запускаю ant-скрипт. Этот сценарий сбрасывает все файлы, которые мне нужны, на сервер. Затем, если я чувствую, что все готово, я просто перемещаю эти файлы в рабочую среду (ftp или что-то еще).
Вот мой сценарий муравья для местных:
<?xml version="1.0" encoding="UTF-8"?>
<project default="init" basedir=".">
<target name="init">
<echo message="Copying files to C:/Sandbox/xampp/htdocs"/>
<sync todir="C:/Sandbox/xampp/htdocs">
<fileset dir=".">
<include name="**/*.html" />
<include name="**/*.htm" />
<include name="**/*.php" />
<include name="**/*.css" />
<include name="**/*.js" />
<include name="**/*.jpg" />
<include name="**/*.png" />
<include name="**/*.gif" />
<exclude name="env.php"/>
</fileset>
</sync>
</target>
</project>
Вы заметите, что я исключаю файл с именем "env.php". Этот файл содержит конкретный код среды. Такие вещи, как имена баз данных и тому подобное, которые различаются между локальными и производственными.
Я понимаю, что это еще один шаг, чем просто нажатие ctrl-s, затем F5, чтобы увидеть изменения локально, но это значительно упрощает развертывание в других местах.
Развлекайся!
person
Chris
schedule
15.02.2011