IDE, SVN и подталкивание к сайтам! - PullRequest
2 голосов
/ 03 ноября 2008

Я подумываю об обновлении своих практик и ищу небольшую помощь и совет!

Я много работаю над сайтами, на которых работают joomla, oscommerce, drupal и т. Д., Поэтому я создал множество пользовательских компонентов / плагинов, хаков и т. Д. В настоящее время каждый сайт имеет свою собственную папку в моей настройке xampp. Что я хотел бы сделать, так это настроить по умолчанию (например) настройки Joomla, и когда я делаю изменения обновлений, я могу сделать что-то, что обновляет все другие папки, содержащие joomla, почти как автоматическое обновление?

Я также смотрю на использование Aptana IDE more и службы SVN, такой как unfuddle , чтобы поделиться своей работой с другими, но я раньше не использовал SVN и не уверен, возможно ли сделать вышеизложенное с использованием SVN?

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

Предложения

Ответы [ 4 ]

3 голосов
/ 03 ноября 2008

Да, SVN был бы отличным инструментом для этой цели. Сохраните свой код (например, пользовательский компонент Joomla) в системе контроля версий. Везде, где вы хотите использовать этот компонент, просто добавьте checkout или export этой конкретной папки на ваш действующий сайт. Вот один способ, которым вы можете структурировать свой репозиторий:

unfuddle.com/myRepo/trunk/com_myComponent
unfuddle.com/myRepo/trunk/com_anotherComponent

Войдите на свой действующий сервер через SSH и выполните эту команду:

> cd path/to/joomla/components
> svn co http://unfuddle.com/myRepo/trunk/com_myComponent

Каждый раз, когда вы изменяете свой код, фиксируете изменения, а затем снова входите на сервер и запускаете:

> cd path/to/joomla/components
> svn up com_myComponent

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

Что касается автоматизации этого процесса, вам может не повезти, если он находится на разных серверах. Для нескольких развертываний на одном сервере вы могли бы легко написать сценарий оболочки для запуска вышеуказанных команд для каждого сайта / компонента. Если вам нужно, чтобы это было полностью автоматизировано, вы могли бы даже создать задание cron для запуска этого скрипта каждый день в 2 часа ночи или около того - лично я бы придерживался ручного подхода, но это все еще вариант.

Для локальной работы с вашими SVN-репозиториями я бы порекомендовал взглянуть на TortoiseSVN (если вы работаете в Windows): это самый простой и простой способ работы с SVN.

2 голосов
/ 21 ноября 2008

Для автоматизации вещей вы можете использовать для этого SVN-хуки. Существует ловушка после фиксации, поэтому каждый раз, когда вы делаете фиксацию, ваш скрипт ловушки может сообщать другим машинам выполнить обновление SVN, чтобы получить последний код.

Для получения дополнительной информации см. Контроль версий с Subversion - Реализация хуков репозитория .

0 голосов
/ 03 ноября 2008

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

0 голосов
/ 03 ноября 2008

У меня нет хорошего ответа для вашей ситуации, но я не думаю, что Subversion сам по себе является ответом.

В этом вопросе рассматриваются некоторые проблемы, связанные с механизмами Subversion для совместного использования в «проектах».

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

...