Тестирование развертывания для Sharepoint несколькими разработчиками на одном сервере - PullRequest
1 голос
/ 27 ноября 2008

Мы начинаем с разработки Sharepoint с командой из трех человек и в настоящее время настраиваем наши среды разработки. Мы хотели бы избежать установки Server 2008 для каждого разработчика, поэтому был настроен отдельный сервер терминалов, использующий Remote Windows для запуска экземпляра VS2008 на компьютере каждого разработчика. Теперь мы хотели бы разделить среды тестирования разработчиков (т. Е. Разные семейства сайтов на разработчика), но поняли, что сборки должны быть установлены в GAC для правильного отображения на сайте. Но поскольку в AFAIK только один GAC, разработчики не смогут самостоятельно протестировать свои материалы.

Можно ли как-то создать отдельные среды тестирования без установки нескольких серверов 2008 года?

Ответы [ 5 ]

5 голосов
/ 27 ноября 2008

Итак, вы собираетесь удаленно запускать Visual Studio и собирать что-то, перезапускать IIS и т. Д.?

Ты будешь топать ногами друг друга.

В настоящее время более разумным выбором является использование Hyper-V (или другой виртуализации).

Мы используем Windows Server 2008 на наших ноутбуках и используем Hyper-V для запуска наших сред разработки. Затем у нас есть среда разработки (песочница), каждая из которых имеет VS2008, SVN, Nunit и т. Д.

Наш код проверен друг против друга благодаря CruiseControl на единственном совместно используемом Hyper-V.

Это было здорово для нас ... мы распределяем нагрузку, мы можем работать в движении, мы не наступаем друг на друга, и если нам нужно сделать демонстрацию, мы можем переключить Hyper-V и демонстрацию с демонстрационная версия Hyper-V (разветвленная от dev на ранней стадии, чтобы были известны среды).

Виртуально и не оглядывайся.

PS: Я только что видел ваш комментарий об одном сервере ... просто включите Hyper-V и запустите 3 экземпляра. Это также то, что мы делаем;)

1 голос
/ 27 ноября 2008

Вы находитесь на неправильном пути с терминальными службами - просто не даст вам никакого разделения.

Многие люди рекомендуют разработку на сервере W003 / 2008 напрямую, и это упрощает некоторые вещи, такие как удаленная отладка.

Я предпочитаю более традиционный метод использования VMWare для запуска виртуальных машин. Они могут быть запущены на локальном или удаленном хосте. Удаленная отладка немного сложнее в настройке, но все же возможна.

Наконец, если возможно, разверните в каталоге bin, а не в GAC. Это значительно упростит автоматическое развертывание после компиляции.

1 голос
/ 27 ноября 2008

Нет. В дополнение к GAC в 12 кустах есть все файлы SharePoint, такие как функции и шаблоны сайтов. Это не стоит того, что вы экономите на затратах на сервер.

(Конечно, если вы не используете GAC, а развертываете в папку bin и ничего не трогаете в 12 кусте, вы можете предоставить каждому разработчику свое веб-приложение на одном сервере. Такой подход накладывает множество ограничений на то, что они могут сделать. Это все еще не стоит.)

Виртуальные машины будут работать, но они могут развиваться медленно. Например, вам необходимо перезапускать пул приложений для каждого развертывания GAC - что означает паузу в 15-60 секунд для перезагрузки приложения (в зависимости от аппаратного обеспечения). Это станет раздражать.

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

Я рекомендую физический сервер для каждого разработчика. Это сведет к минимуму время цикла code-deploy-test и позволит им не беспокоиться о наступлении друг на друга.

1 голос
/ 27 ноября 2008

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

Также полезно иметь возможность отката к снимку, когда дело доходит до тестирования процессов установки и т. Д.

0 голосов
/ 09 августа 2013

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

Разработчики номер один будут пытаться подключиться к одному и тому же процессу веб-приложений w2ps.exe, поэтому создание отдельных веб-приложений на разных портах является обязательным, если вы не готовы разделить время отладки. Как настроить среду разработки для sharepoint 2013

Вторая проблема - когда вы пытаетесь сотрудничать и использовать общие компоненты / функции. Желание работать отдельно является спорным, я считаю, что разработчики команды должны сотрудничать и делиться, поэтому объединение работы желательно для обеспечения плавной интеграции в единое окончательное решение и чтобы никакая работа не дублировалась. Среда с одним сервером для нескольких разработчиков работает идеально, пока вы не попытаетесь сотрудничать. Одна из распространенных ошибок - использовать один «сервер разработки» для всех разработчиков команды. Если члены команды не работают над совершенно не связанными компонентами и им никогда не нужно выполнять общие действия, такие как перезапуск IIS или присоединение отладчика к процессу IIS, такая среда обычно не работает хорошо ». http://technet.microsoft.com/en-us/magazine/dn145990.aspx Мы совершили эту ошибку из-за недостатка опыта и знаний, но как только вы сделаете это, можно обойти ее.

Моя первая попытка поделиться функциями состояла в том, чтобы скопировать проект разработчика 1 в решение разработчика 2, добавить ссылку на него в проект разработчика 2 и добавить все функции в пакет разработчика 2. Развертывание этого прекрасно работает для разработчика 2, пока, как я обнаружил, если разработчик 1 отсоединяет свое решение от отладчика, он втягивает решение на основе дублированного идентификатора решения из фермы и, следовательно, из веб-приложения каждого разработчика. Поэтому разработчик 2 вытаскивает коврик из-под них. Хотя это частичное решение, и, похоже, оно работает некоторое время, мне потребовалось некоторое время, чтобы разобраться, что происходит и какие комбинации развертываний dev 1 и 2 заставляют друг друга работать, а не работать.

Так что я нашел лучшее решение. В свойствах проекта в Visual Studio на вкладке SharePoint есть поле со списком, называемое «Автоотвод после отладки». Это по умолчанию убирает решение, когда разработчик останавливает подключенный отладчик и извлекает функции из-под других разработчиков. Снятие отметки с этого флажка предотвращает откат и оставляет каждому разработчику отдельные решения, развернутые на уровне фермы, а при повторном подключении к отладчику просто заменяет решение с минимальными усилиями.

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

...