У меня есть:
- Создан манифест для msdeploy для:
Остановка, удаление, копирование, установка и запуск службы Windows. - Создание пакета изманифест
- Выполнен msdeploy для пакета на удаленном сервере.
Проблема: весь манифест выполняется дважды.
Попытка: я возился с waitInterval и waitAttempts, думая, что время истекло и начинается заново, но это не помогает.
Вопрос: Что может сделатьон выполняется дважды?
Манифест:
<sitemanifest>
<runCommand path="net stop TestSvc"
waitInterval="240000"
waitAttempts="1"/>
<runCommand
path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u
C:\msdeploy\TestSvc\TestSvc\bin\Debug\TestSvc.exe"
waitInterval="240000"
waitAttempts="1"/>
<dirPath path="C:\msdeploy\TestSvc\TestSvc\bin\Debug" />
<runCommand
path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe
C:\msdeploy\TestSvc\TestSvc\bin\Debug\TestSvc.exe"
waitInterval="240000"
waitAttempts="1"/>
<runCommand path="net start TestSvc"
waitInterval="240000"
waitAttempts="1"/>
</sitemanifest>
Команда, выданная для его упаковки:
"C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy"
-verb:sync
-source:manifest=c:\msdeploy\custom.xml
-dest:package=c:\msdeploy\package.zip
Команда, выданная для его выполнения:
"C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy"
-verb:sync
-source:package=c:\msdeploy\package.zip
-dest:auto,computername=<computerNameHere>
Я работаю как пользователь домена, у которого есть административный доступ к коробке.Я также попытался передать учетные данные - это не проблема с разрешениями, команды выполняются успешно, просто выполняются дважды.
Редактировать:
Я включил -verbose
и нашел в журнале несколько интересных строк:
Verbose: выполнение этапа синхронизации №1.
...
Verbose: Source filePath (C: \ msdeploy \ MyTestWindowsService\ MyTestWindowsService \ bin \ Debug \ MyTestWindowsService.exe) не соответствует назначению (C: \ msdeploy \ MyTestWindowsService \ MyTestWindowsService \ bin \ Debug \ MyTestWindowsService.exe), отличающиеся атрибутами (lastWriteTime [11/08/2011 23:40:30)',' 11/08/2011 23:39:52 ']).Ожидание обновления.
Подробно: исходный файл filePath (C: \ msdeploy \ MyTestWindowsService \ MyTestWindowsService \ bin \ Debug \ MyTestWindowsService.pdb) не соответствует назначению (C: \ msdeploy \ MyTestWindowsService \ MyTestWindowsService \ MyTestWindowsService.pdb) различающиеся по атрибутам (lastWriteTime ['11 / 08/2011 23:40:30 ',' 11/08/2011 23:39:52 ']).Ожидание обновления.
После этих строк файлы не копируются в первый раз, а копируются во второй раз
...
Подробно: Проверка зависимостей 'DependencyCheckInUse' не обнаружила проблем.
Подробно: Получен ответ от агента (HTTP-статус "ОК").
Подробно: на текущем этапе синхронизации отсутствует потоковое содержимое для 2 объектов.
Подробно: выполнение этапа синхронизации № 2.
...
Высокий уровень
Обычно я развертываю только что созданный пакет с более новыми битами, чем на сервере.
Во время второго прохода он дублирует все, что было сделано на первом проходе.
На проходе 1 онбудет:
- Остановить, удалить, (удалить некоторые файлы журнала, созданные при установке службы), установить и запустить службу Windows
На этапе 2 будет:
- Останов, удаление, Копирование файлов через , Установка и запуск службы Windows.
Понятия не имею, почему он не копирует файлы на этапе 1 или почему срабатывает этап 2.
Если я переустановлю тот же пакет вместо развертывания свежих битов, он будетВыполните все шаги на этапе 1, а не на этапе 2. Вероятно, потому что файлы имеют одинаковую отметку времени.