Azure devops Azure DevOps发布管道:Angular和.NET核心应用程序
我们正在尝试使用DevOps发布管道将Angular 7/.NET核心应用程序发布到Azure中。我的构建设置将.NET和Angular构建创建为单独的工件,您可以在下面的屏幕截图(在包或文件夹框下)中看到这些工件 据我所知,似乎需要创建两个独立的发布任务来将构建部署到web应用程序。但是,第二个版本似乎覆盖了第一个版本,这导致API无法启动 有人知道如何确保在给定阶段中的部署只是附加更改而不是替换更改吗?还是我在这里遗漏了什么 有人知道如何确保在给定阶段中的部署只是附加更改而不是替换更改吗 根据我的经验,在您的情况下,在部署API或Angular 7之后,我希望您可以使用将另一个API或Angular 7上载到Azure WebApp 您可以使用Powershell任务来完成此任务。有关powershell演示代码的更多信息,您可以参考以下内容Azure devops Azure DevOps发布管道:Angular和.NET核心应用程序,azure-devops,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines Release Pipeline,我们正在尝试使用DevOps发布管道将Angular 7/.NET核心应用程序发布到Azure中。我的构建设置将.NET和Angular构建创建为单独的工件,您可以在下面的屏幕截图(在包或文件夹框下)中看到这些工件 据我所知,似乎需要创建两个独立的发布任务来将构建部署到web应用程序。但是,第二个版本似乎覆盖了第一个版本,这导致API无法启动 有人知道如何确保在给定阶段中的部署只是附加更改而不是替换更改吗?还是我在这里遗漏了什么 有人知道如何确保在给定阶段中的部署只是附加更改而不是替换更改吗
如果可以创建另一个Web应用程序,则可以添加新的Web应用程序并使用相同的服务计划(无额外费用)。然后您可以单独部署它们。我的建议是为您的管道实现以下模式:
- job: CreateReleaseArtifact
displayName: 'Package for shared-hosting of angular app and web api'
pool:
vmImage: windows-2019
dependsOn:
- BuildNetcore
- BuildAngularApp
condition: succeeded()
steps:
- checkout: none
- download: current
- task: CopyFiles@2
displayName: 'Copy WebApi Files'
inputs:
SourceFolder: $(Pipeline.Workspace)/api
Contents: '**/*'
TargetFolder: $(Pipeline.Workspace)/package
includeRootFolder: false
- task: CopyFiles@2
displayName: 'Copy Angular Files'
inputs:
SourceFolder: $(Pipeline.Workspace)/webapp
Contents: 'wwwroot/**'
TargetFolder: $(Pipeline.Workspace)/package
includeRootFolder: true
OverWrite: true
- publish: $(Pipeline.Workspace)/package
artifact: package