我尝试使用Visual Studio Online上的持续部署将我的ASP.NET 5 Beta 7 Web应用程序部署到Azure平台。
我已经按照这些指南进行操作了:
当我提交并推送更改时,构建任务会正确触发,但在执行 project.json 的 prepublish 脚本时会失败:
"scripts": {
"prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
}
错误(警告)是:
npm WARN可选dep失败,继续fsevents@1.0.0
我能够通过在构建定义中启用错误时继续选项进行部署,并且仅针对PublishLocal.ps1步骤(失败)进行部署。
Visual Studio Online完成(部分)构建并将我的站点部署到Azure,一切似乎都没有问题,但是,这是什么错误?有办法解决它吗?
这是我的PublishLocal.ps1步骤(来自http://www.brandonmartinez.com/2015/09/16/deploying-asp-net-5-beta-7-through-vso/):
#Requires -Version 3.0
param($vsoProjectName, $projectName, $buildConfiguration, $buildSourcesDirectory)
$VerbosePreference = "continue"
&{$Branch='dev';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}
$globalJson = Get-Content -Path $PSScriptRoot\global.json -Raw -ErrorAction Ignore | ConvertFrom-Json -ErrorAction Ignore
if($globalJson)
{
$dnxVersion = $globalJson.sdk.version
}
else
{
Write-Warning "Unable to locate global.json to determine using 'latest'"
$dnxVersion = "latest"
}
& $env:USERPROFILE\.dnx\bin\dnvm install $dnxVersion -Persistent
$dnxRuntimePath = "$($env:USERPROFILE)\.dnx\runtimes\dnx-clr-win-x86.$dnxVersion"
& dnu build "$PSScriptRoot\src\$projectName" --configuration "$buildConfiguration"
& dnu publish "$PSScriptRoot\src\$projectName" --configuration "$buildConfiguration" --out "$buildSourcesDirectory\$vsoProjectName\artifacts\bin\$buildConfiguration\Publish" --runtime "$dnxRuntimePath"
答案 0 :(得分:0)
如果没有查看整个构建日志,则诊断起来有点困难。但是,我的假设是NPM正在向stderr写入WARN
消息。因此,VSTS构建服务器会将其视为错误而不是警告。
我建议将--quiet添加到您的NPM脚本中,或者更新您的依赖项以不抛出WARN。您还可以将PowerShell脚本VerbosePreference
更改为SilentlyContinue
,以查看是否还停止打印邮件。