我试图创建一个到 Azure Web 应用程序资源的 Node js 部署。但是,
AzureWebApp@1
不会将 zip 文件部署到正确的位置,它只是告诉我它已成功。
我的 yaml 文件如下所示:
trigger:
- master
stages:
- stage:
displayName: 'Dev Environment'
jobs:
- deployment: deploy_dev
displayName: Deploy to 'Dev
pool:
vmImage: 'ubuntu-latest'
environment: 'env-dev'
strategy:
runOnce:
deploy:
steps:
- checkout: self
- script: |
cd $(Build.SourcesDirectory)
pwd
ls
displayName: show directory
- script: npm install
displayName: 'Install dependencies'
- task: Npm@1
inputs:
command: 'custom'
customCommand: 'run build'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(System.DefaultWorkingDirectory)/build'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
- script: |
unzip -l $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
- task: AzureWebApp@1
inputs:
azureSubscription: <subscription>
appType: 'webAppLinux'
appName: <appname>
package: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
为了保持理智,我添加了一些额外的日志记录。所有正确的文件都可以在 zip 文件中找到。当我下载该工件时,它也包含所有正确的文件:
但是一旦我去检查 kudolite bash 并进入
site/wwwroot
这些文件就找不到了。
这些似乎只是用户创建 Linux 节点 Web 应用程序时 Microsoft 加载的默认页面的默认文件。 但
AzureWebApp@1
声称是成功的。所以发生了一些奇怪的事情,或者我错过了一些明显的事情。
我在您的管道中没有发现任何问题。在我的管道中测试您的 YAML,它工作正常。
为了缩小问题范围,请在本地计算机上运行以下 Azure CLI 来部署您的 Web 应用程序并检查是否存在相同的问题。
az webapp deployment source config-zip --src {zipFilePathLocation} --resource-group {resource group} --name {webApp name}
请从 az webapp 部署查看有关 Azure CLI 的详细信息。