Развертывание PHP + MySQL - PullRequest
       2

Развертывание PHP + MySQL

4 голосов
/ 05 октября 2011

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

Что мне действительно нравится, так это приложение, которое я могу запустить локально (в Windows) или что-то, что яможет установить на моем сервере, чтобы позволить мне развертывание в один клик.Есть предложения?

Спасибо!Годвин

Редактировать
На данный момент я решил пойти с GoodSync и Жаба .Спасибо за предложения.

Ответы [ 7 ]

4 голосов
/ 05 октября 2011

man scp

SCP (1) Руководство по общим командам BSD SCP (1)

NAME scp - защищенное копирование (программа удаленного копирования файлов)

SYNOPSIS scp [-1246BCpqrv] [-c шифр] [-F ssh_config] [-i идентификатор_файла] [-l лимит] [-o ssh_option] [-P порт] [-S программа] [[пользователь @] хост1:] файл1 [...] [[user @] host2:] file2

ОПИСАНИЕ scp копирует файлы между хостами в сети.Он использует ssh (1) для передачи данных, использует ту же аутентификацию и обеспечивает ту же безопасность, что и ssh (1).В отличие от rcp (1), scp запросит пароли или парольные фразы, если они необходимы для аутентификации.

 Any file name may contain a host and user specification to indicate that the file is to be copied to/from that host.  Copies between two
 remote hosts are permitted.

 When copying a source file to a target file which already exists, scp will replace the contents of the target file (keeping the inode).

 If the target file does not yet exist, an empty file with the target file name is created, then filled with the source file contents.  No
 attempt is made at "near-atomic" transfer using temporary files.

 The options are as follows:

 -1      Forces scp to use protocol 1.

 -2      Forces scp to use protocol 2.

...

2 голосов
/ 05 октября 2011

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

PHing - это автоматизированная система сборки, созданная для PHP.Работает с GIT, SVN, PHPUnit и т.д ...

Вы в основном настраиваете файлы XML, которые дают инструкции PHing о том, что делать.Позволяет запускать тестовые наборы вместе с созданием сборки, создавать несколько различных версий одновременно, копировать файлы, а также выполнять дБ и множество других интересных функций.

Кроме того, он не зависит от открытого источника и платформы.1008 *

2 голосов
/ 05 октября 2011

Я использую GoodSync http://www.goodsync.com/ для такого рода вещей.Это действительно хорошо.Работает в Windows, может синхронизировать любую комбинацию локальных файлов (S) FTP, Windows, сетевых ресурсов Linux и т. Д.

Затем создайте запланированное задание / cronjob для запуска экспорта базы данных в синхронизированную папку иодин делает импорт на другом конце.Очевидно, этот процесс односторонний.

1 голос
/ 05 октября 2011

Я бы поддержал совет по поводу Git / SVN, но вставил бы сильный плагин для Git через GitHub . Используйте GitHub в качестве вашего "центрального" Git-репозитория. Ваш локальный репозиторий Git перейдет на GitHub, а ваш рабочий сервер - из GitHub.

Изучение Git / GitHub сопряжено с некоторыми трудностями, но на самом деле в описанной вами ситуации (один инженер и два сервера) Git не сложнее, чем SVN (или CVS или что-то еще). 1005 *

1 голос
/ 05 октября 2011

Зависит от того, какой тип сервера вы используете, но вы можете запустить SVN (Subversion). Существует плагин для Eclipse, Aptana и Zend Studio, если вы используете его для разработки.

По сути, у вас может быть репозиторий разработки, который находится на сервере. Вы должны перенести свой код в локальную среду и зафиксировать его после изменений. Затем вы можете настроить другой репозиторий, содержащий ваши оперативные данные или производственные данные, связанные с вашим репозиторием разработки.

Когда вы хотите обновить оперативные данные, вы просто обновляете их, чтобы в случае возникновения проблем вы могли откатить этот код без необходимости откатывать свой код разработки. Как только вы добьетесь хороших результатов, вы сможете начать разветвлять и маркировать свои проекты.

Я лично использую SVN и Git, но я предпочитаю Git, потому что он работает намного лучше. Хотя, если вы используете Windows, инструменты командной строки просто не совпадают с linux.

1 голос
/ 05 октября 2011

Что вы используете для контроля версий?Некоторые инструменты, такие как Git и SVN, имеют готовые методы для такого рода вещей.Смотрите здесь для быстрого решения Git.

1 голос
/ 05 октября 2011

Мы используем FTP-синхронизатор, который, кажется, работает довольно хорошо. Я не знаю ничего хорошего из бесплатных.

Пример: http://www.ftpsynchronizer.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...