Помещение сайта Sharepoint под контроль версий
Работая с Mircosoft Office Sharepoint Server 2007 (стандартная версия), каков наилучший способ поместить семейство сайтов, разрабатываемое под контроль версий? Мы используем Subversion для всех других наших проектов (не для sharepoint), но я просто не знаю, как подойти к MOSS.
Что нужно поместить под контроль версий, чтобы у нас было все необходимое для перестройки среды Sharepoint?
5 ответов
Контроль исходного кода - это не просто резервное копирование, а контроль исходного кода не обязательно должен быть решением для резервного копирования. Это все о возможности делать различия текстовых файлов, совместной разработки, ветвления и слияния.
Если целью является аварийное восстановление, то найдите пустой сервер и начните перечислять все биты, которые вам пришлось использовать для перестройки сервера и его содержимого. Сделайте резервную копию этих битов, используя дифференциальные резервные копии и т. Д.
Если цель состоит в том, чтобы включить совместную разработку, ветвление и слияние, отмену n-уровня для артефактов кода, то тщательно изучите, какие артефакты кода являются двоичными, а какие текстовыми. Вы не получите такой большой пользы от размещения бинарных артефактов в Subversion, потому что вы не сможете объединить или получить различия.
Также в случае sharepoint любая модификация, которую вы вносите в веб-сайт после импорта шаблона, будет затруднена для версии, поскольку эти биты хранятся в каком-то скрытом проприетарном формате на встроенном сервере sql. Не все компоненты вашего решения sharepoint будут находиться в файловой системе, где subversion действительно сияет как инструмент управления исходным кодом.
Основываясь на том, что сказано выше:
- Подробные документы сборки для ваших сред, в которых объясняется конфигурация всех компьютеров и их программного обеспечения.
- Информация о топологии сети и конфигурации балансировщика нагрузки (это становится гораздо важнее по мере увеличения числа компьютеров и сетевых адаптеров в вашей ферме
- Установка и настройка SharePoint с помощью сценариев (вы заметили, что для запуска среды SP после завершения работы мастера начальной настройки нужно сделать много вещей)
- Наконец, разработайте свой сайт как артефакты SharePoint (например, компоненты, веб-части и т. Д.) И держите их под контролем исходного кода вместе со всеми сценариями сборки и сценариями установки, необходимыми для добавления их в среду. Можно использовать пользовательский интерфейс для создания своего сайта как своего исследования и разработки, но ничто не сравнится с внешними артефактами со скриптами для восстановления среды с нуля.
Team Foundation Server?
Вы спрашиваете, можете ли вы управлять версиями всего семейства сайтов SharePoint?
Единственный способ, которым я знаю, что вы можете сделать это с некоторой легкостью, это, вероятно, с помощью Team Foundation Server http://msdn.microsoft.com/en-us/library/cc948982.aspx
Они утверждают, что вы можете контролировать версии пользовательских продуктов SharePoint, и я предполагаю, что они имеют в виду и часть базы данных. Я бы подумал, что это будет самый перспективный маршрут.
Наш текущий контроль версий с SharePoint
В настоящее время то, что мы делаем на моей работе, это то, что у нас есть сервер Subversion, в котором мы используем плагин Visual Studio под названием AnkSVn, когда мы разрабатываем пользовательские веб-части, а также решения, которые могут содержать множество рабочих процессов и веб-частей.
В настоящее время мы не делаем никаких версий в базе данных контента SharePoint, хотя я бы хотел попробовать TFS и посмотреть, сработает ли это. Мы используем инструмент stsadm в качестве разработчиков для резервного копирования сервера разработки, прежде чем мы сделаем большие изменения, и у нас есть периодические резервные копии баз данных SharePoint нашими администраторами баз данных.
Восстановление базы данных контента вернет мне весь предыдущий контент, рабочие процессы, сайты, шаблоны, функции семейства сайтов SharePoint.
В дополнение к mortenbpost, чтобы сохранить структуру сайта в системе контроля версий, вам нужно будет создать ее в коде. Например, получатель функции, который создает семейство сайтов так, как оно должно существовать, когда функция активирована.
Невозможно взять структуру сайта из MOSS и поместить ее в систему контроля версий. Когда сайт будет запущен, пользователи будут добавлять контент, который вам все равно не нужен для контроля версий.
Вопрос немного неопределенный, если вы не упомянули, как вы его развиваете. Если вы просто делаете из коробки изменения в семействе сайтов через интерфейс, который вы имеете в sharepoint, похоже, вам нужно сделать какое-то "резервное копирование". Я не думаю, что вы можете экспортировать семейство сайтов в качестве шаблона:P
Если вы занимаетесь фактической разработкой, функциями кодирования, которые обеспечивают подготовку сайта, веб-частями для этого, пользовательскими макетами страниц и так далее, я бы предложил скопировать структуру, которую вы используете в кусте /12/, на ваш ресурс sharepoint в вашей визуальной студии. Поместите все артефакты, которые у вас есть, в нужные папки вашего решения, и это делает его очень простым для развертывания, либо путем копирования и вызова некоторых команд stsadm, либо путем создания нового файла manifest.xml и файла.ddf, которые затем можно добавить в вашем хранилище решений на вашей установке sharepoint.