Python 无法在azure web应用程序上部署flask应用程序
我一直在尝试在azure web应用程序上部署一个简单的python应用程序。 我阅读的所有教程都建议flask应用程序只能与linux web应用程序一起部署 当我尝试使用azure linux web app执行此操作并设置部署方法时,python构建不受支持。 显示的唯一选项是用于构建的节点、php ruby和asp.net 我没有找到任何关于如何在windows web应用程序上实现这一点的教程 我的build.yml文件如下所示:Python 无法在azure web应用程序上部署flask应用程序,python,azure,flask,azure-devops,Python,Azure,Flask,Azure Devops,我一直在尝试在azure web应用程序上部署一个简单的python应用程序。 我阅读的所有教程都建议flask应用程序只能与linux web应用程序一起部署 当我尝试使用azure linux web app执行此操作并设置部署方法时,python构建不受支持。 显示的唯一选项是用于构建的节点、php ruby和asp.net 我没有找到任何关于如何在windows web应用程序上实现这一点的教程 我的build.yml文件如下所示: variables: ConnectedServi
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'
my application.py的代码是
from app import app
if __name__ == "__main__":
app.run()
我对azure web应用程序完全陌生。你能帮我一下吗?Microsoft网站上提供了一些关于如何在Azure web App上部署Python应用的教程 是一个指南,向您展示如何从azure门户部署到azure web app 是一个指南,向您展示如何从Azure管道将python应用部署到Azure应用服务 是一个关于如何从VScode部署python应用程序的教程 添加: StartupCommand应指向右侧start up.py文件中Flask app对象的右侧。请检查有关启动命令的更多信息 如果您的Flask应用程序的主模块为application.py,且该文件中的Flask应用程序对象名为app。命令应该如下所示
StartupCommand:'gunicorn--bind=0.0.0.0应用程序:应用程序'
更新:
要取消将源文件夹包括在已部署的工件中,还需要将includeRootFolder
特别设置为false。或者您的项目将部署到wwwroot,wwwroot/s/
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.SourcesDirectory)'
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/Application$(Build.BuildId).zip'
replaceExistingArchive: true
includeRootFolder: false
希望以上内容对您有所帮助。Microsoft网站上提供了一些关于如何在Azure web App上部署Python应用程序的教程 是一个指南,向您展示如何从azure门户部署到azure web app 是一个指南,向您展示如何从Azure管道将python应用部署到Azure应用服务 是一个关于如何从VScode部署python应用程序的教程 添加: StartupCommand应指向右侧start up.py文件中Flask app对象的右侧。请检查有关启动命令的更多信息 如果您的Flask应用程序的主模块为application.py,且该文件中的Flask应用程序对象名为app。命令应该如下所示
StartupCommand:'gunicorn--bind=0.0.0.0应用程序:应用程序'
更新:
要取消将源文件夹包括在已部署的工件中,还需要将includeRootFolder
特别设置为false。或者您的项目将部署到wwwroot,wwwroot/s/
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.SourcesDirectory)'
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/Application$(Build.BuildId).zip'
replaceExistingArchive: true
includeRootFolder: false
希望以上内容对您有所帮助。您是否有机会尝试以下指南。有更新吗?嗨@LeviLu MSFT。非常感谢你的努力。是的,我已经一字不差地遵循了第二个指南URL,仍然无法部署一个简单的应用程序。我的管道成功完成了每一步。但是一旦我点击了URL,我就得到了应用程序错误。我无法诊断出什么问题。你能分享你的构建yaml吗?也可以访问这个网站(https://.scm.azurewebsites.net)检查代码是否已部署到azure web应用程序。并确保start命令指向正确的startup.py文件。@levlu MSFT请查看我的build.yml文件。代码就在那里,它指向正确的启动文件。我测试了构建yaml,发现
StartupCommand
没有指定Flask app对象。请查看下面我的更新,您是否有机会尝试下面的指南。有更新吗?嗨@LeviLu MSFT。非常感谢你的努力。是的,我已经一字不差地遵循了第二个指南URL,仍然无法部署一个简单的应用程序。我的管道成功完成了每一步。但是一旦我点击了URL,我就得到了应用程序错误。我无法诊断出什么问题。你能分享你的构建yaml吗?也可以访问这个网站(https://.scm.azurewebsites.net)检查代码是否已部署到azure web应用程序。并确保start-up命令指向正确的startup.py文件。@LeviLu MSFT请查看我的build.yml文件。代码就在那里,它指向正确的启动文件。我测试了构建yaml,发现StartupCommand
没有指定Flask app对象。请查看下面我的最新消息Hi@Shivangi Bhardwaj有一段时间没有收到你的消息了,这个案子进展如何,你最终成功了吗?Hi@Shivangi Bhardwaj有一段时间没有收到你的消息了,这个案子进展如何,你最终成功了吗?