【问题标题】:Deployment to Azure Linux App services from Azure DevOps has no effect从 Azure DevOps 部署到 Azure Linux 应用服务没有效果
【发布时间】:2020-04-16 18:13:22
【问题描述】:

我有一个由 Visual Studio 2019 生成的 Angular 8 + asp.net core 3.1 应用程序。

我尝试使用VS 2019 PublishAzure Linux App Service 上按原样不加修改地部署应用程序,并且应用程序部署没有问题,我可以从网络访问应用程序<app-name>.azurewebsites.net 网址上的浏览器

当使用 Azure App Service deploy 任务从 Azure 发布管道部署应用程序时,部署不会出现错误,但在请求 <app-name>.azurewebsites.net 时,我会得到默认站点,如下面的屏幕截图所示

似乎部署对 Azure DevOps 没有影响。我做错了什么?

详情

构建管道

trigger:
- master

pool:
  vmImage: 'windows-2019'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: Npm@1
  displayName: 'npm install'
  inputs:
    command: 'install'
    workingDir: 'MyApp/ClientApp'
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  displayName: 'nuget restore'
  inputs:
    restoreSolution: '$(solution)'
- task: Npm@1
  displayName: 'ng build'
  inputs:
    command: 'custom'
    workingDir: 'MyApp/ClientApp'
    customCommand: 'run build'

- task: DotNetCoreCLI@2
  displayName: 'dotnet build release'
  inputs:
    command: 'build'
    arguments: '-c $(buildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: 'publish'
    publishWebProjects: true
    arguments: '-r linux-x64 -c release --output $(build.ArtifactStagingDirectory)'
    
- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact Website'
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'MyAppDropDir'
    publishLocation: 'Container'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact ARM Template'
  inputs:
    PathtoPublish: '$(Build.SourcesDirectory)/MyApp.AppService'
    ArtifactName: 'ARMTemplate'
    publishLocation: 'Container'

发布管道

【问题讨论】:

    标签: azure azure-devops azure-web-app-service azure-pipelines


    【解决方案1】:

    确保在配置设置中的 portal.azure.com 中或从 devops 中运行启动命令。

    dotnet your-project-name.dll
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      您可以做的一件事是转到已部署 Web 应用程序的 Kudu 控制台,查看是否已部署实际代码。

      例如:https://.scm.azurewebsites.net/ 其中 name 是您的 Web 应用程序的名称。

      另外,我认为您需要在发布管道上设置一个启动命令为 dotnet aspnet-core-dotnet-core.dll

      您可以尝试的另一件事是设置一个新的 Devops 项目,然后用您的存储库替换源代码。您可以导航到 Azure portal -> Devops Project,您可以选择 .Net,然后选择 Core3 作为模板,看看出了什么问题

      【讨论】:

      • 问题是启动命令是“dotnet run”而不是“dotnet .dll”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 2020-05-27
      • 1970-01-01
      相关资源
      最近更新 更多