Я нашел этот сценарий на этот сайт , и это, кажется, работает вполне хорошо.
На Вашей локальной копии, измените свой .git/config файл и добавьте свой веб-сервер как удаленное:
[remote "production"]
url = username@webserver:/path/to/htdocs/.git
На сервере, замена .git/hooks/post-update этот файл (в ответе ниже)
Добавляют доступ на выполнение к файлу (снова, на сервере):
chmod +x .git/hooks/post-update
Теперь, просто локально продвиньте к своему веб-серверу, и он должен автоматически обновить рабочую копию:
git push production
Мои наблюдения были такими же: для создания проектов веб-сайтов требуется больше времени, чем для проектов веб-приложений. Думаю, я нашел некоторую информацию о том, почему, проверьте это: http://msdn.microsoft.com/en-us/library/aa730880 (VS.80) .aspx
Найдите «Итеративная разработка». Это говорит о проектах веб-сайтов по сравнению с проектами веб-приложений:
По умолчанию Visual Studio полностью компилирует проекты веб-сайтов, когда вы запускаете или отлаживаете любую страницу. Это сделано для выявления ошибок времени компиляции в любом месте сайта. Однако полная сборка сайта может значительно замедлить итеративную разработку процесс, так что обычно рекомендуется изменить сборку вариант проекта для компиляции только текущая страница при запуске или отладке.
Сначала прочтите это сообщение в блоге Советы по оптимизации производительности сборки во время разработки для веб-сайтов в Visual Studio 2005
Основные замечания:
Другой вариант, который может помочь вам, - это переключение на RAM-диск: Запуск разработки с RAM-диска - опции и продукты
Если это не поможет, возможно, разделите ваш большой WAP на несколько может сократить время компиляции. К сожалению, эта стратегия требует от вас отказаться от разработки на Cassini. Вместо этого вам придется использовать IIS в качестве хоста: Использование нескольких проектов веб-приложений (WAP) в одном решении
Возможно, это не идеально, но вы можете разделить свои проекты на несколько решений. Например, вы можете взять пользовательские элементы управления и поместить их в решение A, а остальные проекты в решение B. Затем скомпилировать элементы управления в решении A и указать ссылку на них из решения B, что должно помочь сократить время компиляции
Один факт, который большинство разработчиков упускает из виду в веб-проекте ASP.NET, - это количество классов в папка App_Code .
Чем больше классов вы добавите в него, тем дольше будет время компиляции.
Из Обзор компиляции ASP.NET на MSDN :
ASP.NET создает сборку для каждого каталог приложения (например, App_Code) и один для основного каталог. (Если файлы в каталоге находятся в разных программах языки, затем отдельные сборки будут созданы для каждого языка.)
Итак, если вы сможете минимизировать иерархию папок и уменьшить количество классов в ней, это, вероятно, , вероятно, сократит время компиляции.
Другое дело, что я из вашего сообщения заметили, что у вас 18 не связанных с веб-сайтом проектов.
Я думаю, что это слишком много, потому что думайте об этом так.
Когда начинается компиляция веб-проекта, компилятор ASP.NET должен связать 18 отдельных файлов DLL.
Если эти проекты можно объединить для уменьшения количества библиотек DLL, это может также помочь.
С точки зрения ремонтопригодности, иметь 18 проектов немного чрезмерно, если для этого нет ДЕЙСТВИТЕЛЬНЫХ веских причин.
Я бы посоветовал просмотреть проекты и объединить их.
Надеюсь, это поможет.
Веб-сайт или веб-проект, производительность должна быть аналогичной после фазы компиляции. Если проблема заключается в низкой производительности сразу после развертывания нового набора кодов, быстрый способ, который я могу придумать, - это предварительно опубликовать сайт. (см. ссылку http://msdn.microsoft.com/en-us/library/1y1404zt (VS.80) .aspx )
В зависимости от параметров, которые вы выбираете во время публикации, вам может не хватать гибкость, позволяющая вносить изменения на лету (чего в любом случае не следует).