Развертывание дополнительных файлов с использованием MSBuild - PullRequest
2 голосов
/ 10 января 2012

Мы используем Teamcity, Git и MSBuild для развертывания нашего сайта.

На нашем сайте работает Sitecore CMS.Он должен быть в корневом каталоге, а не в виртуальном каталоге.

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

Есть ли лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 11 января 2012

Вы можете использовать MSBuild для копирования ваших файлов «постепенно».Это называется дозирование .MSBuild сравнивает метку даты-времени входных файлов с меткой даты-времени для выходных данных, и если некоторые из входных данных datetime> output datetime, то цель или задача будут выполнены.

0 голосов
/ 11 января 2012

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

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

Поскольку SHAхеш-код не смотрит на временные метки, он позволяет копировать только те файлы, которые имеют изменения содержимого файла.

...