Ошибка развертывания синхронизации: превышено максимальное количество проходов синхронизации '5' - PullRequest
12 голосов
/ 26 января 2012

При запуске веб-развертывания на определенном сайте IIS я получаю следующую ошибку:

Error: The synchronization is being stopped because the maximum number of sync passes '5' has been exceeded even though all the changes could not be applied. This could occur if there are external changes being made to the destination.
 At C:\Code\.....\deploy.ps1:185 char:10
 +         & <<<< ($appDeployCmd) $type /M:$url /U:$user /P:$pass /A:Basic -allowUntrusted -useCheckSum
 + CategoryInfo          : NotSpecified: (Error: The sync...he destination.:String) [], RemoteException
 + FullyQualifiedErrorId : NativeCommandError

Web Deploy отлично работает в этой среде с другими сайтами IIS, и синхронизация файлов также работает. Ранее я мог использовать веб-развертывание для развертывания этого конкретного сайта без проблем. Внезапно из ниоткуда эта проблема начала возникать, и я больше не могу развернуть этот сайт.

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

Сообщение об ошибке гласит:

"Это может произойти, если в пункт назначения вносятся внешние изменения."

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

Есть идеи, что может привести к сбою развертывания в Интернете?

Ответы [ 5 ]

30 голосов
/ 06 октября 2015

У меня была та же ошибка, и проблема была в моем Dropbox.Я работал непосредственно в папке Dropbox, и при публикации он вызывает синхронизацию Dropbox с одновременным возникновением ошибки.

Отключение синхронизации Dropbox во время работы решило проблему.

Я считаю, что проблема также может произойти с onedrive, Google Drive и т. Д.

11 голосов
/ 15 июля 2014

У нас возникла эта проблема при преобразовании из ранее развернутого развертывания службы в MSDeploy, и мы обнаружили, что при наличии файлов, которые были либо

тогда мы получим ошибку «максимальное количество проходов синхронизации» при развертывании.

Как только мы исправили атрибуты / ACL, мы смогли синхронизироваться.

2 голосов
/ 01 июня 2015

Быстрый и простой способ решить эту проблему - удалить файлы в месте назначения и повторно запустить веб-развертывание.

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

По умолчанию Web Deploy задает ACL сайтов, на которые анонимный пользователь может только читать, а также перезаписывает доступ панели управления к вашему сайту.

Источник

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

1 голос
/ 16 марта 2012

На самом деле это не ответ, но один из обходных путей, который можно попробовать, если вы используете провайдеров Web Deploy dirPath , filePath или contentPath , - ignoreErrors настройка провайдера. Если вы знаете, что последовательно нажимаете на определенный номер ошибки, вы можете указать, что эта ошибка будет игнорироваться при ее обнаружении. Обратитесь к статье поставщика dirPath для получения полной информации (и предостережений).

0 голосов
/ 17 октября 2017

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

...