我应该将AzureWebApp任务指向什么路径?

时间:2020-08-01 02:55:04

标签: azure azure-devops azure-pipelines

我正在尝试部署React Web应用程序。这是我当前的Yaml文件。我一直在关注this教程。

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'
  
variables:
  azureSubscription: <myServiceConnection>
  appName: <myAppName>

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '10.x'
  displayName: 'Install Node.js'
  
  #so this calls the build object in package.json. Theoretically creates a /build/ directory
- script: |
    npm install
    npm run build
  displayName: 'npm install and build'

#this should copy contents of build into artifactstagingdirectory. 
- task: CopyFiles@2
  inputs:
    Contents: 'build/**' # Pull the build directory (React)
    TargetFolder: '$(Build.ArtifactStagingDirectory)' 

- task: PublishBuildArtifacts@1
  inputs: 
    pathtoPublish: $(Build.ArtifactStagingDirectory) # dist or build files
    ArtifactName: 'www' # output artifact named www


- task: AzureWebApp@1
  inputs:
    azureSubscription: <myServiceConnection>
    appName: <myAppName>
    appType: webAppLinux
    package: $(Build.ArtifactStagingDirectory)/**/www/build
    customWebConfig: '-handler iisnode -NodeStartFile server.js -appType node'

基本上,问题在于我不了解PublishBuildArtifact任务将文件发布到哪里,因此我不知道将AzureWebApp包指向何处。

所以我打开了system.debug,我得到了以下信息

  1. npm install版本使用以下目录:/home/vsts/work/1/s
  2. copy文件将复制构建文件夹。因此它从/home/vsts/work/1/s/build/home/vsts/work/1/a/build。因此,这意味着artifactstaging目录为/home/vsts/work/1/a
  3. Publish Build工件将使用artifactstaging目录,并将其发布到某个文件夹www/build。提供以下输出:Upload '/home/vsts/work/1/a' to file container: '#/8995596/www'
  4. 当前的AzureWebApp任务正在/home/vsts/work/1/a/**/www/build
  5. 中查找

所以我认为它应该是正确的目录。但是,它没有提供步骤3中的完整路径。因此,看来我错了。这个www文件夹在哪里创建?

此外,由于构建/发布React应用似乎不会创建一个zip文件,因此我只将其指向build文件夹还是www文件夹?

1 个答案:

答案 0 :(得分:1)

尝试 ** / wwwroot / 而不是** / www /

查看以下Microsoft博客,其中概述了部署详细信息。

https://docs.microsoft.com/en-us/azure/app-service/faq-deployment