2015-12-19 3 views
3

Я пытаюсь настроить непрерывное развертывание для Azure Web App от Bitbucket. Однако развертывание не выполняется со следующей ошибкой:Не удалось выполнить непрерывное развертывание Azure Web App (MVC 6)

Command: deploy.cmd 
Handling ASP.NET 5 Web Application deployment. 
Invoke-Command : Cannot validate argument on parameter 'Architecture'. The 
argument "undefined" does not belong to the set ",x86,x64,arm" specified by 
the ValidateSet attribute. Supply an argument that is in the set and then try 
the command again. 
At C:\Program Files 
(x86)\SiteExtensions\Kudu\49.41216.1976\bin\scripts\dnvm.ps1:1914 char:9 
+   Invoke-Command ([ScriptBlock]::Create("dnvm-$cmd $cmdargs")) 
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
+ CategoryInfo   : InvalidData: (:) [Invoke-Command], ParameterBindingValidationException 
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.Power 
Failed exitCode=1, command=PowerShell -NoProfile -NoLogo -ExecutionPolicy 
unrestricted -Command " 
[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; 
[System.Threading.Thread]::CurrentThread.CurrentUICulture = '';$CmdPathFile='"D:\local\UserProfile\.dnx\temp-set-envvars.cmd"';& 
'C:\Program Files (x86)\SiteExtensions\Kudu\49.41216.1976\bin\scripts\dnvm.ps1' " install undefined -arch undefined -r undefined 
Shell.Commands.InvokeCommandCommand 

An error has occurred during web site deployment. 

Публикация/развертывание непосредственно из Visual Studio 2015 работает без проблем. Кажется, что команде dnvm.ps1 передается куча «неопределенных» аргументов, вызывающих эту ошибку. Создание сценария развертывания локально (as instructed here), запустив

azure site deploymentscript --aspNet5 <path to the project.json file> 

будет также генерировать deploy.cmd с тем же «неопределенными» переменными.

Я не использую любые пользовательские сценарии развертывания и мой global.json выглядит следующим образом:

{ 
    "projects": [ "src", "test" ], 
    "sdk": { 
    "version": "1.0.0-rc1-update1" 
    } 
} 
+0

Мы развертываем с BitBucket без проблем. Имеется ли в вашем репозитории какой-либо сценарий развертывания или вы его автоматически генерируете? Вы используете файл global.json, чтобы определить, какую версию фрейма используете? –

+0

Я добавил свой global.json к вопросу выше. Я не использую какие-либо пользовательские сценарии развертывания. Спасибо за помощь! –

ответ

1

Проблема возникла из-за того, что я запустил azure site deploymentscript --aspNet5 <path to the project.json file>, который генерирует deploy.cmd файл локально. Этот файл затем используется развертыванием Azure, если он существует. Местный deploy.cmd имел неопределенные параметры из-за a bug in the generator. Удаление deploy.cmd решило эту проблему.

0

Файл global.json можно определить runtime и architecture:

{ 
    "projects": [ "src", "test" ], 
    "sdk": { 
    "version": "1.0.0-rc1-update1", 
    "runtime": "clr", 
    "architecture": "x64" 
    } 
} 

Я угадав, что скрипты вытягиваются из этих значений и не знают, как справиться с отсутствием их в global.json?

1

Мне пришлось явно указать их как аргументы при повторном запуске генератора сценария развертывания.

azure site deploymentscript --aspNet5 sr\[myprojectfolder]\ --aspNet5Version 1.0.0-rc1-update1 --aspNet5Architecture x64 --aspNet5Runtime CLR

Как перечислив их в global.json первых, как было предложено automatonicand затем повторно ход не имеет никакого эффекта, я предполагаю, что это ошибка.

Смежные вопросы