如何通过Azure门户在Linux Web应用程序服务上部署python flask应用程序?

时间:2019-11-08 07:35:17

标签: azure azure-devops

我正在尝试在Linux Web应用程序上部署我的flask应用程序。 我想为我的代码设置一个Azure管道,将其推送到Azure仓库中。

我已经在python代码中进行了所有配置更改,并使用Python 3.7的运行时堆栈创建了一个Web应用程序

一旦我进入部署中心来部署我的代码,在选择azure存储库作为我的代码源之后,我将重定向到azure管道选项,在该选项中,我们必须配置构建设置。

但是该构建没有为Python提供任何选项。它只给了我四个构建选项,例如Node,Ruby,Asp.Net和php。

我不能使用: -码头工人 -Git

由于这些限制,我发现没有合适的教程可以这样做。

有人可以告诉我一些为我的python项目设置管道的方法吗?

1 个答案:

答案 0 :(得分:1)

Azure DevOps CI / CD可与任何语言,平台和云一起使用。仅对于Python应用程序,您可能需要添加其他步骤才能从Azure Devops CI / CD实现部署。


  • CI

由于python是一种解释语言,因此不需要编译。如果没有其他步骤(如测试),则只需要在CI管道中使用2个任务:Archive Files任务和Publish Build Artifacts任务。

enter image description here

存档文件任务用于将python应用程序源文件夹打包到一个zip包中,以便在CD中使用它。并且 Publish Build Artifacts任务会将 publish 这个zip包发布到Release管道。

但是

如果您的项目包含并且需要测试,请添加另一个Command line task以使用pytest来运行测试。

但是,在天蓝色的devops中,如果要使用 pytest 之类的python组件,则需要使用一些任务配置python环境。

在这里,请参阅此blog

注意:由于您正在使用的堆栈为Python 3.7,因此请在“使用Python”任务中将python版本指定为3.x


  • CD

由于您已经在Azure门户中创建了应用程序服务,因此只需在显示的练习3:配置发布管道跳过步骤4(添加Azure CLI任务)在此blog中,因为步骤4仅用于创建新的Azure资源。

1。。要部署python应用程序,您需要首先添加Azure App Service manage任务,以便在发布管道中安装相应的python版本站点扩展:

enter image description here

它将安装一组相应的工具以支持管理您的应用程序服务。

2。。接下来,您可以使用Azure App Service deploy将在Build管道中创建的 zip 程序包部署到您在Azure门户中配置的应用程序服务。

在此任务中指定订阅后,应用服务将自动显示在应用服务名称的下拉列表中:

enter image description here

然后指定您在构建管道的发布任务中配置的路径。将$(Build.ArtifactStagingDirectory)替换为$(System.DefaultWorkingDirectory),并将$(Build.BuildId)替换为*以使用模糊搜索来搜索zip包。

enter image description here