Azure / app-service-announcements-discussions

Discussions for announcements from https://github.com/Azure/app-service-announcements/
MIT License
44 stars 5 forks source link

.NET Core 3.0 Availability on App Service #118

Closed fabiocav closed 3 years ago

fabiocav commented 5 years ago

Discussion for .NET Core 3.0 Availability on App Service.

valeriob commented 5 years ago

same problem as @stay2be on France central, deploying a framework dependent application on linux

stay2be commented 5 years ago

@timheuer

Ok, I'll try to give you a whole picture:

Hope the yml helps. Thanks for your quick response!

pool:
  name: Azure Pipelines

steps:
- task: UseDotNet@2
  displayName: 'Use .Net Core sdk 3.0.x'
  inputs:
    version: 3.0.x

- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: restore
    projects: '$(Parameters.RestoreBuildProjects)'

- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    projects: '$(Parameters.RestoreBuildProjects)'
    arguments: '--configuration $(BuildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: Test
  inputs:
    command: test
    projects: '$(Parameters.TestProjects)'
    arguments: '--configuration $(BuildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: Publish
  inputs:
    command: publish
    publishWebProjects: True
    arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory) /p:AssemblyVersion=$(Build.BuildNumber)'
    zipAfterPublish: True

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
  condition: succeededOrFailed()
timheuer commented 5 years ago

@stay2be in your release pipeline what are you using as startup command for your app?

fabiocav commented 5 years ago

@marchy sincerely, thank you for the feedback! Those are very valid points and we're working closely with the different teams involved to ensure this process is a bit smoother going forward.

For Linux: The deployment is rolling out and the estimated completion date is Friday (10/18). As the deployment progresses, you'll be able to see that option under the Application Configuration in the portal: config

For Windows: The portal option should be available by 10/25, but this is not a deployment blocker. Runtime has been globally deployed.

We'll continue to provide updates on the SDK deployment once we have validation results.

Thank you again for the patience and all the feedback.

stay2be commented 5 years ago

@timheuer The start up command field is empty. As I understood @fabiocav, we just have to wait to get this working. Annotation 2019-10-17 090230

I was a bit confused, because of the comment above:

@avoxm deployment is completed. We can look at your specific issue to understand what is happening there.

timheuer commented 5 years ago

@stay2be -- if you are deploying from DevOps, VIsual Studio, or other automation that already builds your app, you can deploy now. But for your deployment step you need to specify a startup command which is usually mapped to the app in your wwwroot. For example mine is /home/site/wwwroot/TacticView

What @fabiocav was also referring to is the full rollout of the SDK which would allow code-push to App Service and the service builds the app for you as well.

timheuer commented 5 years ago

@stay2be mind contacting me off-thread here and we can see if we can get yours working and report back findings here? (just reducing back-and-forth noise of questions) timheuer@microsoft.com

eflorespalma commented 5 years ago

@fabiocav -- I created a simple API example from VS2019 (WeatherForecast) and deployed to App Service in Linux, in the dropdownlist i selected net core 2.2, but in the configuritation settings i changed to 3.0, after that i deployed my web app but doesnt work. I went to the kudu console and verified that net core 3.0 runtime is installed. Is everything ok?

image

eflorespalma commented 5 years ago

@fabiocav -- I created a simple API example from VS2019 (WeatherForecast) and deployed to App Service in Linux, in the dropdownlist i selected net core 2.2, but in the configuritation settings i changed to 3.0, after that i deployed my web app but doesnt work. I went to the kudu console and verified that net core 3.0 runtime is installed. Is everything ok?

image

I added dotnet to the startup command and worked, but Is this Ok?

image

patricklee2 commented 5 years ago

@eflorespalma how are you deploying your code?

eflorespalma commented 5 years ago

@eflorespalma how are you deploying your code?

@patricklee2 I download the publish profile and import to visual studio. What target runtime I have to select for linux app service?

marchy commented 5 years ago

What's the update on the release estimate for the SDK?

@fabiocav would appreciate updates even if team doesn't have full timeline estimates yet. Could we possibly open an issue with list of tracking/blocking issues? This is starting to cause severe impact as we cannot update new DB-impacting changes and we have several blocked lines of development that cannot be pushed to prod/staging (ie: Azure) because of this.

CamSoper commented 5 years ago

We're also blocked on some 3.0 updates to Microsoft Learn content because our content relies on az webapp up , which uses zip deployment via Kudu behind the scenes. Any ETA on the SDK deployment?

cc: @scottaddie @wadepickett

patricklee2 commented 5 years ago

We discovered that the 3.0 sdk breaks our version of MSBuild and we need to deploy a new version of that. Due to potential of breaking existing apps when upgrading MSBuild, we have been progressing slowly and carefully. Assuming all goes well, we estimate about 3 more weeks to safely release 3.0 SDK.

marchy commented 5 years ago

@patricklee2 we much appreciate the transparency and update.

While with 3 weeks it unfortunately means we'll have to move forward with a full downgrade (back to 2.1 sigh) as there's no way we can delay critical system updates for a now total of +2 months.

Please for the future never do this to your customers again. If the Microsoft teams announce ".NET 3.0 is ready" (or 5.0 in the future), don't let Azure be counted as a second-class, ambiguous and unmentioned citizen. Spell it right out that it could be months until customers can deploy to production so that we don't end up in this situation again – upgrade, downgrade and have to upgrade in the future again.

We're all taking some of these growing pains together as a community, but costs like this that can be so easily avoided with upfront communications should never be pushed off to the entire community to burden. To say nothing of you being teams within the same company and that you've had no less than 9 betas/previews to prepare for this.

Good luck with the rest of the migrations.

timheuer commented 4 years ago

@marchy and to confirm you are using app service to actually build your solution (kudu)? Versus deploying your built app via a CI/CD pipeline where you can acquire the SDK on-demand?

Hypnobrew commented 4 years ago

Hi We are experience similar problems as others in this thread. We are getting HTTP Error 500.30 - ANCM In-Process Start Failure when our .Net Core 3.0 app is deployed to our App Service (windows). Sometimes I also get the error message 500.31 ANCM Failed to Find Native Dependencies.

It looks like both Microsoft.NETCore.App and Microsoft.AspNetCore.App are properly installed. If I run dotnet --info in Kudo i get the following info.

.NET Core SDK (reflecting any global.json):
 Version:   2.2.109
 Commit:    586f23c400

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.14393
 OS Platform: Windows
 RID:         win10-x86
 Base Path:   D:\Program Files (x86)\dotnet\sdk\2.2.109\

Host (useful for support):
  Version: 3.0.0
  Commit:  7d57652f33

.NET Core SDKs installed:
  1.1.14 [D:\Program Files (x86)\dotnet\sdk]
  2.1.509 [D:\Program Files (x86)\dotnet\sdk]
  2.1.701 [D:\Program Files (x86)\dotnet\sdk]
  2.2.108 [D:\Program Files (x86)\dotnet\sdk]
  2.2.109 [D:\Program Files (x86)\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.12 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.13 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.6 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.7 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.12 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.13 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.6 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.7 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.16 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.13 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.12 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.13 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.6 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.7 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]

Any idea where to start looking? The application builds just fine in Azure Devops and the artifact work locally if I download it.

marchy commented 4 years ago

@marchy and to confirm you are using app service to actually build your solution (kudu)? Versus deploying your built app via a CI/CD pipeline where you can acquire the SDK on-demand?

Hi Tim, we are using Deployment Center (ie: Kudu) connected to Bitbucket Git hooks.

We did an investigation of CI/CD via Azure Pipelines with MS tech support but was too slow for our needs (+1hr long build times per pushed commit for a Hello World Angular app). Kudu builds running on our P1V2 instances are a somewhat more acceptable ~25/30mins for our dual Angular app codebase (ie: ~10mins each Angular app + ~5mins .NET codebase).

LHupper commented 4 years ago

Just upgraded to 3.0 and published via Azure DevOps

Receiving: image

Support says it may be a major issue with 3.0 they are checking with the Azure PDT and calling me back.

SimonOrdo commented 4 years ago

Just upgraded to 3.0 and published via Azure DevOps

Receiving: image

Support says it may be a major issue with 3.0 they are checking with the Azure PDT and calling me back.

The Tier 1 Azure support that's farmed out to the MindTree people out of India is pretty horrible. Frankly, I'm a little surprised MS makes us pay for it. I wouldn't put much stock in their initial assessment. I deal with them frequently and they never fail to disappoint. At least you got them to escalate you to the product team - that's a feat!

Most likely, your DevOps build/publish is configured incorrectly. We use DevOps and push 3.0 to Azure WebApps no problem. ALthough, it did take some fiddling with all the publishing options to finally get it working properly.

LHupper commented 4 years ago

Most likely, your DevOps build/publish is configured incorrectly. We use DevOps and push 3.0 to Azure WebApps no problem. ALthough, it did take some fiddling with all the publishing options to finally get it working properly.

Any chance you could share your Use .Net Core Settings with me from the DevOps pipeline? Especially if it's a Window App Service....

Sharparam commented 4 years ago

@FanrayMedia We're building ASP.NET Core 3.0 WebApis on DevOps and deploying to App Service just fine. You'll need to explicitly use the .NET Core 3.0 SDK in the build pipeline if the agent doesn't have it installed:

- task: UseDotNet@2
  inputs:
    version: 3.0.x
SimonOrdo commented 4 years ago

Most likely, your DevOps build/publish is configured incorrectly. We use DevOps and push 3.0 to Azure WebApps no problem. ALthough, it did take some fiddling with all the publishing options to finally get it working properly.

Any chance you could share your Use .Net Core Settings with me from the DevOps pipeline? Especially if it's a Window App Service....

@LHupper Here you go. Basically, we build with VS2019 then do a "Publish". I don't think that both should technically be required, but that how it's currently set up and working for us. One of the main stumbling blocks was making sure that the build agent was set to Windows-2019. DevOps was in a weird state where some things had 2019/3.0 support and others didn't, so we just kept monkeying around with the different configurations until we found one that worked.

image

steps:
- task: UseDotNet@2
  displayName: 'Use .NET Core sdk 3.x'
  inputs:
    version: 3.x
steps:
- task: NuGetToolInstaller@1
  displayName: 'Use NuGet 5.2.0'
  inputs:
    versionSpec: 5.2.0
steps:
- task: NuGetCommand@2
  displayName: 'NuGet restore **/*.sln'

variables: BuildPlatform: 'x64' BuildConfiguration: 'debug'

steps:
- task: VSBuild@1
  displayName: 'Build PortalWeb'
  inputs:
    vsVersion: 16.0
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'
    msbuildArchitecture: x64

image

variables:
  BuildConfiguration: 'debug'

steps:
- task: CmdLine@1
  displayName: Publish
  inputs:
    filename: dotnet
    arguments: 'publish -c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory) -r win-x64'
    workingFolder: PortalWeb
steps:
- task: ArchiveFiles@1
  displayName: 'Archive files '
  inputs:
    rootFolder: '$(Build.ArtifactStagingDirectory)'
    includeRootFolder: false
steps:
- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'

The deployment has one "Azure AppService Deploy" task:

image

LHupper commented 4 years ago

Turns out it's nothing to do with the deployment and everything to deal with Application Insights not being supported in a 3.0 App Service.

Turning off App Insights in the the portal, removing the NuGet package, and killing the hook in Startup fixed the issue.

CamSoper commented 4 years ago

How did you determine that, @LHupper? I've got App Insights in 3.0 code that's running in Azure (I think).

LHupper commented 4 years ago

The eventlog.xml from the Logs folder in Kudu.

Description: The process was terminated due to an unhandled exception.System.Diagnostics.DebugProvider+DebugAssertException: Microsoft.AspNetCore.Hosting.Diagnostics Hosting startup assembly exception System.InvalidOperationException: Startup assembly StartupBootstrapper failed to execute. See the inner exception for more details. ---> System.IO.FileNotFoundException: Could not load file or assembly 'StartupBootstrapper, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified. File name: 'StartupBootstrapper, Culture=neutral, PublicKeyToken=null' at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, RuntimeAssembly assemblyContext, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, AssemblyLoadContext assemblyLoadContext) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, StackCrawlMark& stackMark, AssemblyLoadContext assemblyLoadContext) at System.Reflection.Assembly.Load(AssemblyName assemblyRef, StackCrawlMark& stackMark, AssemblyLoadContext assemblyLoadContext) at System.Reflection.Assembly.Load(AssemblyName assemblyRef) at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.ExecuteHostingStartups()

justdmitry commented 4 years ago

For Windows: The portal option should be available by 10/25

It seems that we still have no .NET Core 3.0 SDK available for AppService-based CI/CD: when I create new App Service and set Runtime Stack to .NETCore 3.0 in creating wizard - created appservice still have 2.2 SDK in dotnet --info response.

aivaras-ciurlionis commented 4 years ago

I have found a .NET Core 3.0 availability map per region: https://aspnetcoreon.azurewebsites.net/ As of today, Core 3.0 runtime is supported everywhere, however SDK is still unavailable anywhere.

vinay-chaudhari commented 4 years ago

I am trying to deploy .net core 3.0 app on Linux App from VS 2019 but its not working. Both Azure Portal and VS 2019 shows target framework as .net core 3 but when I check by dotnet --info after deployment, it shows 2.2. How do I get .NET core 3 runtime?

vinay-chaudhari commented 4 years ago

On further investigating, there is .NET core 3.0 sdk & runtime present at /opt/dotnet/sdks/3.0 but dotnet --info doesn't list it. As of now, I am stuck... the deployed web site shows default ASP.NET core web page.

timheuer commented 4 years ago

@vinay-chaudhari you are most likely running the command on the docker host instance and not the actual service. If you go to advanced tools from the portal and click the SSH link at the top

vinay-chaudhari commented 4 years ago

@Tim, I checked from bash... SSH was not connecting. Will check and revert back. Any idea why I see app service default .net core page

On Sun, Dec 1, 2019, 22:30 Tim Heuer notifications@github.com wrote:

@vinay-chaudhari https://github.com/vinay-chaudhari you are most likely running the command on the docker host instance and not the actual service. If you go to advanced tools from the portal and click the SSH link at the top

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Azure/app-service-announcements-discussions/issues/118?email_source=notifications&email_token=AN5QZGEIYCX63YZGLNEWOXDQWPUTHA5CNFSM4I5R7NKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFRO24I#issuecomment-560131441, or unsubscribe https://github.com/notifications/unsubscribe-auth/AN5QZGDB4DR4U7E7272GPBLQWPUTHANCNFSM4I5R7NKA .

timheuer commented 4 years ago

I would recommend turning on logs for your app service instance if they aren’t and examine them. The diagnostic hub has a ‘web site down’ option that will take you to all relevant app logs

vinay-chaudhari commented 4 years ago

@timheuer, .NET Core 3.0 runtime is available from SSH. Checking applications logs - I can see two issues; one is from kestrel "Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'". Another is about Container didn't start in expected time limit - I guess it must be the side effect of first one. Any idea how to go about debugging this one?

vinay-chaudhari commented 4 years ago

@timheuer, tried deployment of same project on windows and it works. On Linux app service, its failing to start with container didn't start in expected time limit. I have migrated this project from 2.2 to 3.0. Any ideas about how to troubleshoot this issue...

timheuer commented 4 years ago

@vinay-chaudhari That's an error message I've not come in to myself. I saw some references to this and Kestrel here https://github.com/aspnet/IISIntegration/issues/239 but maybe @bradygaster can shed some light on this?

bradygaster commented 4 years ago

@vinay-chaudhari did you try removing the 5000 port to see if it will spin up onto the default port 80? Also - do you have UseHttpRedirection uncommented? Curious if you're trying to hit your site via HTTP or HTTPS.

vinay-chaudhari commented 4 years ago

@bradygaster how do I remove 5000 port? I know for dev environment, its in launchsettings.json but not sure where do you set for production. As far as your queries foes, I have UseHttpsRedirection and I am hitting the site via https only.

ctolkien commented 4 years ago

Any update now re: 3.1 timelines ?

fabiocav commented 4 years ago

3.1 runtime deployment will begin soon (by end-of-week) and we'll have a new announcement once happens.

marchy commented 4 years ago

@fabiocav @timheuer what's the update on being able to deploy .NET Core 3.0 on Azure from Deployment Center? It's been 2+ months now and we still can't deploy anything beyond .NET Core 2.2 – nor have you set up any tracking to communicate what issues are outstanding/blocking it.

Deployment Center 3 0 SDK missing
fabiocav commented 4 years ago

@marchy SDK deployments will start shortly after the runtime release. This will actually have 3.0 and 3.1 SDKs.

We'll follow up here (and in the 3.1 announcement) once that starts.

marchy commented 4 years ago

@fabiocav this would be fantastic news. Great to have our dev pipe unblocked after 2+ months of not being able to deploy anything from our main-line branch (which we've long upgraded to .NET Core 3.0 on our local machines)

🤞all goes smoothly

vinay-chaudhari commented 4 years ago

@timheuer @bradygaster thanks for help... finally solved my linux deployment issues. There were two problems - first one regarding reading configuration, mine was old code migrated over versions where configuration was manually read fron json, environment variables etc except code reading environment variables was using APPSETTINGS_ prefix. This was the reason, it was missing override of ports via ASPNETCORE_URLS env variable from startup script. Second issue was UseHttpsRedirection which failed because only http port binding was givenfor kestrel. I hope that Microsoft documents how Azure App Service hosting on linux is set up - at least I was unable to find it. The most surprising thing is how the same code was running on .net core 2.2.

ozkank commented 4 years ago

Is there any updates related this issue?

optiks commented 4 years ago

Is there any updates related this issue?

Azure Functions 3 + .NET Core 3.1 are now GA. What update are you hoping for?

jflieben commented 4 years ago

@fabiocav @timheuer deployment center doesn't seem to be able to pull 3.1 core apps from git yet even with the 3.1 extension installed, any update / instruction on that?

fabiocav commented 4 years ago

@jflieben updates for that have been provided here: https://github.com/Azure/app-service-announcements-discussions/issues/129#issuecomment-569997549

wadepickett commented 4 years ago

Hi, any updates for this open issue?
The .NET 3.1 SDK is supported in North Central US and West Central US so far correct? Everywhere else it is .NET SDK 2.2?

mattwoberts commented 4 years ago

FYI, we migrated to azure pipeline deployments which means were no longer dependent in this issue. It was pretty straight forward in the end.

Maybe that will work for you?

On Tue, 28 Jan 2020 at 18:59, Wade Pickett notifications@github.com wrote:

Hi, any updates for this open issue? The .NET 3.1 SDK is supported in only North Cetnral US and West Central US only https://aspnetcoreon.azurewebsites.net/ so far correct? Everywhere else it is only .NET SDK 2.2?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Azure/app-service-announcements-discussions/issues/118?email_source=notifications&email_token=AAA2VDBOZWGR36IL3CRWW3TRAB6BPA5CNFSM4I5R7NKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKEPT6I#issuecomment-579402233, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA2VDDJXPAOGT5LG5W4NMLRAB6BPANCNFSM4I5R7NKA .

-- Matt Roberts

e: roberts.mattroberts@gmail.com t: mattwoberts