Reactjs 通过DevOps对azure web app的连续构建/发布将新的构建一目录推向更深的层次

Reactjs 通过DevOps对azure web app的连续构建/发布将新的构建一目录推向更深的层次,reactjs,azure,continuous-integration,azure-devops,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 co

我正在尝试通过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
我使用上提供的说明创建了此文件

构建成功了,然后我使用以下设置为构建创建了一个版本:

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

我还将azure上web应用的物理路径配置为site\wwwroot\build

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

编辑:以下是Azure Web应用程序设置和Kudu上控制台的一些快照。


我的问题是:如何设置整个过程,以使新版本替换web app上的旧版本,并避免它们嵌套在旧版本中

我不能复制我这边的问题,你介意分享复制的演示代码吗?如果有Azure Web应用程序的快照,则Appsetting将更有帮助。嗨@tom,我添加了一些快照。如果你还需要什么,请告诉我,谢谢你的帮助。这很奇怪。看起来和我的设置没有什么不同。如果将物理路径设置为
site\wwwroot`,会发生什么情况?如果可能,请在github或其他git Repo上共享您复制的
demo code`tom,更改到site\wwwroot的路径并访问网站时会显示错误“您没有查看此目录或页面的权限”。我将添加一个指向我之前所做的另一个react项目的链接(使用TypeScript)在DevOps部署过程中,我遇到了同样的错误:正如提醒一样,第一次部署成功,当我部署后续构建时,问题就出现了(这些构建将被推到更深的层次)。如果你还需要什么,请告诉我。