2017-10-16 72 views
0

自动部署我有角2 简单的.NET 2.0的核心应用程序托管我的应用我使用Azure的Web服务,也是我的源代码在GitHub上公布。并且,当我在主分支分支上进行一些更改时,它会自动部署在Azure上。角2和.NET 2.0的核心 - 与问题在Azure上

当我对C#代码进行更改时,它工作正常,但是当我对Angular 2 + TS编解码器做任何更改时,我的代码无法成功部署。我不知道为什么!

我捉住了每一个喜欢 同样的错误(无法查找和移动main.84325e8f477352023e49.bundle.js文件,因为它不存在

但时间,当我去到Azure的仪表板和点击 - 再次部署它工作正常。

我用角CLI为建设角2应用程序。 此外,我已将* .csproj文件更改为在构建.net核心应用程序之前执行一些Angular-CLI命令。

<Target Name="Build Angular" BeforeTargets="Build" Condition="'$(Configuration)' == 'Release'"> 
    <Message Text="* * * * * * NPM * * * * * *" Importance="high" /> 
    <Exec Command="npm install" /> 
    <Message Text="* * * * * * Building Angular App * * * * * *" Importance="high" /> 
    <Exec Command="npm run build" /> 
    </Target> 

NPM运行编译: - 这是默认的角度-CLI命令与AOT过程纳克构建构建角应用--prod

我发现很多文章,当人们使用Visual Studio团队服务并为Azure创建一个部署过程,但我无法使用它。我需要使用GitHub的唯一部署。

此外,部署需要15-20分钟很长时间。而且这很奇怪,因为本地速度比1-2分钟快得多。

任何想法,如何改善部署过程,并通过自动部署从master分支GitHub上解决这个问题。

回答

0

根据你的描述,我已经创建了我的side.It测试演示效果很好。

我在visual studio中使用了net core 2.0角模板。

enter image description here

然后我使用git来部署整个应用程序的Git并启用继续部署蔚蓝的Web应用程序。

最后我编辑的TS文件,并推到github上。

如下结果:

注意到521秒:

enter image description here

我不改变,码csporj。所以我建议你可以尝试使用vs net core模板来构建你的项目。

+0

没关系,但Visual Studio中的默认核心2.0角模板使用网络包和服务器端渲染。就我而言,我已经使用Angular-CLI和.net内核,像API一样用于前端。 –

+1

如果你想提高npm速度,我建议你可以尝试在D:\ local \ repository中添加一个appsetting SCM_REPOSITORY_PATH。这将加速继续部署。更多细节,你可以参考这篇文章(https://ppolyzos.com/2017/01/15/how-to-improve-continuous-deployment-speed-in-azure-app-service/)。 –

+0

伟大的文章非常感谢,我会尽力做到这一点。 –

0

我知道,当你从Visual Studio部署中,Build目标执行两次。在你的情况下,你的目标也会执行两次。

错误“无法找到并移动文件”可能与相同的原因有关。在发布过程中,“发布”任务在开始时列举所有可用文件。比起它调用第二个Build来清除第一个Build中的文件。

我建议你看一下目标<Target Name="NgBuildAndAddToPublishOutput" AfterTargets="ComputeFilesToPublish">的以下链接示例。