azure - 我应该将 AzureWebApp 任务指向什么路径?
问题描述
我正在尝试部署一个反应网络应用程序。这是我当前的 yaml 文件。我一直在关注这个教程。
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,我得到了以下信息
- npm install build 使用以下目录:
/home/vsts/work/1/s
- 复制文件将构建文件夹复制过来。所以它
/home/vsts/work/1/s/build
去/home/vsts/work/1/a/build
。所以这意味着 artifactstagingdirectory 是/home/vsts/work/1/a
- 发布构建工件获取工件分级目录并将其发布到某个文件夹
www/build
。提供以下输出:Upload '/home/vsts/work/1/a' to file container: '#/8995596/www'
- 当前 AzureWebApp 任务正在查找
/home/vsts/work/1/a/**/www/build
所以我认为它应该是正确的目录。但是,它没有在步骤 3 中提供整个路径。所以看起来我错了。这个 www 文件夹是在哪里创建的?
另外,由于构建/发布 react 应用程序似乎不会创建一个 zip 文件,所以我只是将它指向构建文件夹还是 www 文件夹?
解决方案
尝试 **/wwwroot/ 而不是 **/www/
查看 Microsoft 的以下博客,其中概述了部署详细信息。
https://docs.microsoft.com/en-us/azure/app-service/faq-deployment
推荐阅读
- python - Selenium docker-compose 下载文件
- c# - System.InvalidCastException:'无法将'System.TimeSpan'类型的对象转换为'System.IConvertible'类型
- python - 用于自动执行命令提示符操作的 Python 脚本
- python - 如果列“B”包含 %value (openpyxl),则复制整行
- delphi - 有没有什么明确的方法可以从阿拉伯语或波斯语产生的字符串中提取中间形式的字符?
- javascript - 为什么这个 ajax 脚本不返回任何数据
- reactjs - 如何在生产环境中使用 HTTPS 启动 React 网站?
- java - 为什么同一个Class的字段修饰符被不同的Class Loader加载时会有所不同?
- roblox - 在 MouseButton1Down 上访问发件人
- genymotion - 如何在 genymotion 上下载设备?