通过DevOps对Azure Web应用程序进行的逐次构建/发布使新构建的目录更深入

时间:2019-01-23 21:00:24

标签: reactjs azure continuous-integration azure-devops

我正在尝试通过Azure DevOps将ReactJS应用程序部署到我的Azure Web应用程序。我已经为此在DevOps上创建了一个项目,并且试图建立一个持续的集成管道,以便每次对master的提交都会触发一个新的构建并将其部署到Web应用程序中。指定构建说明的azure-pipelines.yml文件如下:

# Node.js with React
# Build a Node.js project that uses React.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

pool:
  vmImage: 'Ubuntu 16.04'

trigger:
- master

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '8.x'
  displayName: 'Install Node.js'

- script: |
    npm install
    npm run build
  displayName: 'npm install and build'

- task: ArchiveFiles@2
  inputs:
    rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
    includeRootFolder: false

- task: PublishBuildArtifacts@1

我按照Build, test, and deploy Javascript Apps in Azure Pipelines

上提供的说明创建了此文件

构建成功就很好,然后我使用以下设置为构建创建了一个发行版: Azure release pipeline task setup

(部署Azure应用服务>应用类型:Web应用>程序包/文件夹:$(System.DefaultWorkingDirectory)/ ** / *。zip)

我还将Azure上的Web应用程序的物理路径配置为site \ wwwroot \ build

我第一次创建并发布该版本时,它可以很好地部署,并且我看到更改反映在Web应用程序上。 但是,以后的每个版本都不会自动更新以显示在Web应用程序上。使用Kudu上的诊断控制台,我看到新的构建将更深入一个目录,例如,下一个构建将具有site \ wwwroot \ build \ build的物理路径。要查看新版本,我必须每次手动更改Web应用程序的路径。

编辑:这是Azure Web App设置以及Kudu上控制台的一些快照。 Issue shown on Kudu diagnostic console Azure Web App Settings (1) Azure Web App Settings (2) Azure Web App Settings (With physical path)(3)

我的问题是:我如何设置整个过程,以便新版本替换Web应用程序上的旧版本,并避免将它们嵌套在旧版本中?

0 个答案:

没有答案