На какой путь указать задачу AzureWebApp? - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь развернуть реагирующее веб-приложение. Вот мой текущий файл 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 и получил следующую информацию.

  1. npm install build использует следующий каталог: /home/vsts/work/1/s
  2. copy files копирует папку сборки. Так что от /home/vsts/work/1/s/build до /home/vsts/work/1/a/build. Это означает, что каталог artifactstagingdirectory /home/vsts/work/1/a
  3. Publi sh Build artifacts принимает каталог artifactstagingdirectory и публикует его в некоторой папке www/build. Предоставляется следующий вывод: Upload '/home/vsts/work/1/a' to file container: '#/8995596/www'
  4. Текущая задача AzureWebApp ищет в /home/vsts/work/1/a/**/www/build

Поэтому я думаю, что это должен быть правильный каталог. Однако он не предоставляет весь путь в шаге 3. Так что, похоже, я ошибаюсь. Где создается этот www folder?

Кроме того, поскольку не похоже, что сборка / публикация приложения React создаст zip-файл, могу ли я просто указать его на папку сборки или www folder?

1 Ответ

1 голос
/ 01 августа 2020

попробуйте ** / wwwroot/ вместо ** / www /

Проверьте следующий блог от Microsoft с подробностями развертывания.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...