Azure AppService deploy.cmd, используя неправильный файл

Я пытаюсь настроить непрерывное развертывание на тестовом сервере в Azure. Приложение является приложением ASP.Net, но в этом случае это не должно иметь большого значения.

Мой процесс сборки (город команды) создает папку, в которой есть все необходимое для развертывания (за исключением некоторой информации о строке подключения). Если вы указываете IIS на этот каталог, он прекрасно работает. Если вы отправляете этот каталог по FTP до Azure, он также работает.

Я отслеживаю каждую из этих сборок в git и отправляю их на Github. Поэтому я пытаюсь использовать параметр развертывания Azure для развертывания из github. Все в мерзавце. Папка /bin включена.

Куду не нужно ничего делать, кроме как извлечь из git и скопировать все файлы в wwwroot.

Поэтому я установил свой файл.deployment так:

[config]
project = .

Каждый раз, когда я делаю это, развертывание дает мне сообщение:

Using cached version of deployment script (command: 'azure -y --no-dot-deployment -r "D:\home\site\repository" -o "D:\home\site\deployments\tools" --aspWAP "D:\home\site\repository\MyProj.csproj" --no-solution').

И он запускает какой-то общий автоматически сгенерированный deploy.cmd.

Если я удаляю файл deploy.cmd из кэша, он восстанавливает какой-то общий.

И, самое главное, делая все это, НЕПРАВИЛЬНАЯ АССАМБЛЕЯ БУДЕТ РАЗВЕРТАНА!!

Мое приложение зависит от System.Web.Helpers.dll. Правильная версия этой DLL находится в github. Я проверял это несколько раз.

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

Что мне нужно сделать, чтобы Kudu просто скопировал файлы из моего репозитория github в wwwroot и ничего больше?

1 ответ

Я получил его для развертывания вручную, отредактировав автоматически сгенерированный файл deploy.cmd, который находится на \home\site\deployments\tools\deploy.cmd в куду.

Я закомментировал 2 автоматически сгенерированных строки:

:: 1. Restore NuGet packages
:: 2. Build to the temporary path

(закомментировал весь код под ними тоже)

И затем отредактировал вручную 3-й раздел, чтобы запустить синхронизацию kudu из DEPLOYMENT_SOURCE вместо временного файла, например так:

:: 3. KuduSync
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
  call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
  IF !ERRORLEVEL! NEQ 0 goto error
)
Другие вопросы по тегам