2010-02-08 3 views
2

Друг мой и я разрабатываем веб-сервер для системного администрирования в perl, аналогично webmin. У нас есть установка linux box с текущей версией работающего сервера, а также другие веб-продукты с открытым исходным кодом, такие как веб-почта, календарь, система управления запасами и многое другое.контроль версий для программирования cgi на стороне сервера

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

Одним из решений, о котором я могу думать, является создание корня проекта, который в настоящее время находится в поле linux, чтобы быть корнем хранилища колодец. И мы проверим код на наших персональных машинах, поработаем над ним, зафиксируем и протестируем результат.

Любые другие идеи, подходы?

Спасибо большое,

Спасский

ответ

1

Version Control with Subversion охватывает многие фундаментальные концепции управления версиями в дополнение к тому, власть на самом Subversion. Если вы прочтете первую главу, вы можете получить представление о том, как ее настроить.

В вашем случае это звучит так, как будто вы делаете фактическую разработку в живой системе. Это не имеет большого значения для системы управления версиями. В вашем случае вы по-прежнему можете использовать Subversion для:

  1. Выполнение как средство резервного копирования кода и обновления вашего репозитория с рабочими изменениями. Сделайте привычку совершать после тестирования, так что есть как можно меньше прерываний.
  2. Маркировка как средство отслеживания того, что вы делаете. Когда вы добавили функцию, создайте тег. Таким образом, вы можете легко вернуться к «до того, как мы внедрили X», если это необходимо.
  3. Ветвление, чтобы развить большие куски изменений. Если для разработки требуется несколько дней, вы можете захотеть зафиксировать ее во время разработки, но не для сундука, так как тогда вы совершаете то, что только наполовину закончено. В этом случае вы должны зафиксировать ветку.

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

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

+0

Спасибо, я прочитал часть этой книги и имею опыт работы с svn, но здесь проблема в том, что мы не можем протестировать код на нашей копии репозитория. Единственная возможность - проверить его после совершения. – Spasski

+0

@Spasski Я обновил свой ответ. – bzlm

+0

Это действительно полезный совет. Я ценю это! – Spasski

0

Сколько экземпляров Webapp вы можете запустить?

Вы не должны передавать непроверенный код или совершать коммиты с компьютера, который не может запустить ваш код. Хотя вы можете нажать на резервные копии, если хотите.

+0

Только один. Сервер по-прежнему не работает, и мы можем позволить себе разорвать код. Обычно мы работаем с ssh на машине и работаем прямо там и проверяем результат в браузере. Поскольку мы собираемся быть только разработчиками, я думаю, что решение локального репозитория было бы лучше с периодическим резервным копированием на другой машине. Мне просто интересно, есть ли у кого-то подобный опыт и их мысли. – Spasski

+1

@Spasski. Я бы пошел с разделяющим репо на сервере, создав несколько псевдонимов, чтобы разобраться, кто что сделал. Но я не был в такой ситуации, как правило, мне удалось запустить локально сначала. Возможно, также будет работать совершенно другое решение, которое может привести к развертыванию апа capistrano/heroku/toppcloud, хотя я бы ожидал поломки большинства коммитов. – Tobu

Смежные вопросы