我正在尝试部署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,我得到了以下信息
/home/vsts/work/1/s
/home/vsts/work/1/s/build
到/home/vsts/work/1/a/build
。因此,这意味着artifactstaging目录为/home/vsts/work/1/a
www/build
。提供以下输出:Upload '/home/vsts/work/1/a' to file container: '#/8995596/www'
/home/vsts/work/1/a/**/www/build
所以我认为它应该是正确的目录。但是,它没有提供步骤3中的完整路径。因此,看来我错了。这个www文件夹在哪里创建?
此外,由于构建/发布React应用似乎不会创建一个zip文件,因此我只将其指向build文件夹还是www文件夹?
答案 0 :(得分:1)
尝试 ** / wwwroot / 而不是** / www /
查看以下Microsoft博客,其中概述了部署详细信息。
https://docs.microsoft.com/en-us/azure/app-service/faq-deployment