Невозможно развернуть приложение фляги в веб-приложениях Azure - PullRequest
0 голосов
/ 07 ноября 2019

Я пытался развернуть простое приложение на Python в лазурных веб-приложениях. Все учебники, которые я прочитал, предполагают, что флеш-приложение может быть развернуто только с веб-приложениями Linux.

Когда я пытаюсь сделать это с веб-приложением Azure Linux и установить метод развертывания, сборка Python не поддерживается. Показываются только варианты сборки: node, php ruby ​​и asp.net

Я не нашел ни одного учебника, как это можно сделать в веб-приложениях Windows.

Мой build.ymlФайл выглядит следующим образом:

variables:
  ConnectedServiceName: 'azure_first_connection'
  WebAppName: 'STABACKEDNTRAIN'
trigger:
- master

pool:
  name: Hosted Ubuntu 1604

steps:
- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.6'
    architecture: 'x64'

- script: python -m pip install --upgrade pip setuptools wheel
  displayName: 'Install tools'

- script: pip install -r requirements.txt
  displayName: 'Install requirements'

- task: ArchiveFiles@2
  inputs:
    rootFolderOrFile: '$(Build.SourcesDirectory)'
    archiveType: 'zip'
    archiveFile: '$(Build.ArtifactStagingDirectory)/Application$(Build.BuildId).zip'
    replaceExistingArchive: true
    verbose: # Optional

- task: AzureRMWebAppDeployment@4
  displayName: Azure App Service Deploy
  inputs:
    appType: webAppLinux
    RuntimeStack: 'PYTHON|3.6'
    ConnectedServiceName: $(ConnectedServiceName)
    WebAppName: $(WebAppName)
    Package: '$(Build.ArtifactStagingDirectory)/Application$(Build.BuildId).zip'


    StartupCommand: 'gunicorn --bind=0.0.0.0 application'

Код моего application.py:

from app import app
if __name__ == "__main__":
    app.run()

Я совершенно новичок в лазурных веб-приложениях. Не могли бы вы помочь мне с этим?

1 Ответ

0 голосов
/ 08 ноября 2019

На сайтах Microsoft доступно несколько учебных пособий по развертыванию приложений Python в веб-приложении Azure.

Здесь - это руководство, показывающее, как выполнить развертывание веб-приложения Azure с портала Azure.

Здесь - это руководство, показывающее, как выполнить развертывание. приложения python в службу приложений Azure из конвейеров Azure

Здесь - руководство по развертыванию приложений Python из VScode

Добавление: StartupCommand должен указыватьСправа объект приложения Flask в правом .py файле запуска. Пожалуйста, проверьте здесь для получения дополнительной информации о команде запуска.

Если ваше приложение Flask, основным модулем которого является application.py, и объект приложения Flask в этом файле называется app. Команда должна выглядеть так, как показано ниже.

StartupCommand: 'gunicorn --bind=0.0.0.0 application:app'

Обновление:

Чтобы аннулировать включение исходной папки в развернутые артефакты, вам также необходимо специально установить includeRootFolderложно. Или ваш проект будет развернут в папку s в wwwroot , wwwroot/s/

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

Надеюсь, вы найдете выше полезным.

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