2017-10-16 73 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">的以下鏈接示例。