带烧瓶应用程序的Azure CI / CD管道无法通过ZIP部署进行部署

时间:2020-10-31 03:00:51

标签: azure-devops continuous-integration yaml continuous-deployment

我无法将Flask应用程序部署到Azure门户站点。我的构建通过了,但是我的部署在最后一步失败,试图将项目推送到Azure门户网站。我正在使用Azure门户进行部署,但是不知道要寻找什么来解决此问题。我是CI / CD版本的新手。我已包含完整的yaml构建(不包含某些变量)和管道的图像。如果我需要发布其他信息以获取帮助,请告诉我。

  # Project root folder. Point to the folder containing manage.py file.
  projectRoot: $(System.DefaultWorkingDirectory)
  
  # Python version: 3.7
  pythonVersion: '3.7'

stages:
- stage: Build
  displayName: Build stage
  jobs:
  - job: BuildJob
    pool:
      vmImage: $(vmImageName)
    steps:
    - task: UsePythonVersion@0
      inputs:
        versionSpec: '$(pythonVersion)'
      displayName: 'Use Python $(pythonVersion)'
    
    - script: |
        python -m venv antenv
        source antenv/bin/activate
        python -m pip install --upgrade pip
        pip install setup
        pip install -r requirements.txt
      workingDirectory: $(projectRoot)
      displayName: "Install requirements"

    - script: |
        source antenv/bin/activate
        python build.py
      workingDirectory: $(projectRoot)
      displayName: "Download Weights and Models"

    - task: ArchiveFiles@2
      displayName: 'Archive files'
      inputs:
        rootFolderOrFile: '$(projectRoot)'
        includeRootFolder: false
        archiveType: zip
        archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
        replaceExistingArchive: true

    - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
      displayName: 'Upload package'
      artifact: drop
      
- stage: Deploy
  displayName: 'Deploy Web App'
  dependsOn: Build
  condition: succeeded()
  jobs:
  - deployment: DeploymentJob
    pool:
      vmImage: $(vmImageName)
    environment: $(environmentName)
    strategy:
      runOnce:
        deploy:
          steps:
          
          - task: UsePythonVersion@0
            inputs:
              versionSpec: '$(pythonVersion)'
            displayName: 'Use Python version'

          - task: AzureWebApp@1
            displayName: 'Deploy Azure Web App : dl-sandbox'
            inputs:
              azureSubscription: $(azureServiceConnectionId)
              appName: $(webAppName)
              package: $(Pipeline.Workspace)/drop/$(Build.BuildId).zip

enter image description here

1 个答案:

答案 0 :(得分:1)

以上错误可能是由于应用程序服务的定价层太小引起的。您可以尝试以更高的定价等级重新创建您的App服务。

创建Web应用程序时,选择更改大小以在Azure门户中选择更高的定价层。

enter image description here

如果以上无法解决。您可以检查以下步骤以显示更多错误消息并解决问题。

要对Azure应用服务进行故障排除:

转到Azure中的Web应用>应用程序服务日志>打开“详细错误消息”。

要在Azure管道上进行故障排除:

设置管道变量system.debug=true。或在运行管道时检查Enable system diagnostics,有关更多信息,请参见here