【华为云实战开发】13.如何在云端快速搭建python网站

时间:2024-02-29 19:36:48

概述

1.1 文章目的

本文主要想为研发Python项目的企业或个人提供上云指导,通过本文中的示例项目 “AI物体检测”,为开发者提供包括项目管理,代码托管,代码检查,编译构建的操作指导,覆盖软件开发全生命周期。

1.2 项目详情

项目简介:AI物体检测应用程序,浏览器从本地上传JPG、PNG和JPEG格式的图片,使用已经训练好的AI模型进行图片检测,返回检测结果。

图片1.png

项目周期:3周(敏捷迭代开发)

构建环境:docker 18.03

部署环境:华为云集群节点

华为云服务:软件开发服务 DevCloud  

容器镜像服务 SWR

云容器引擎 CCE

1.3 前提条件

注册华为云账号:华为云官网注册华为云账号,此账号适用于所有华为云产品。

华为云集群节点:部署将使用虚拟机集群,Kubernetes社区基线版本为1.9.10。

项目管理

2.1 创建项目

新建项目的开发流程包含两种类型:scrum流程、看板流程。Scrum流程是标准的敏捷开发流程,工作项层级为传统的scrum划分方法Epic->Feature->Story->Task&Bug,本项目为把工作划分的层级更清晰,选择了scrum流程。

图片2.png

2.2 创建迭代

本项目研发周期短,只有一次release,划分成三个迭代,迭代周期为一周。

代码托管

3.1 创建仓库

Ø 新建代码仓库时,选择“模板新建”,在搜索框中输入已经被公开为示例模板的仓库名称object_detection,选择该模板。

图片3.png

Ø 输入新的仓库名称(可以和模板仓库同名),即可创建代码仓

图片4.png

构建&发布

4.1 SWR上传基础镜像

对于很多python语言项目,都会用到一些基础安装包,如果每次构建都重新安装显然是不合理的,所以,我们可以自己创建包含工程依赖包的镜像,上传到SWR服务中,构建时直接使用。本项目中使用的就是SWR中自己上传的自有AI镜像。

在SWR服务中,点击“客户端上传”,会显示上传指导说明,本小节通过具体步骤辅助大家实践。

图片5.png

① Linux系统上安装docker

查看本地docker.io源并安装,可以通过“=”指定版本,如:docker.io=1.13.1-0ubuntu1~16.04.2,也可以不指定版本,那么,默认安装本地最新。如果想安装docker.ce(社区版)或者docker.ee(企业版),可以通过更新docker源获得。

# sudo apt-cache madison docker.io

# sudo apt install docker.io

②  通过当前路径下的Dockerfile文件构建自有ubuntu镜像

# sudo docker build -t aienvir :16.04 .

Dockerfile文件内容如下,按照这些信息会在基础ubuntu环境中逐一安装:

图片6.png

③ 上传镜像

#sudo docker login -u cn-north-1@cWazX6gbL80EO2XNw4Pp -p 2b8676812056e24a3fc2da3abe4d6ae40f17b4b912488dda2bc7060c43a7d1ac swr.cn-north-1.myhuaweicloud.com

#sudo docker tag aienvir :16.04 swr.cn-north-1.myhuaweicloud.com/org-pj/aienvir :16.04

#sudo docker push swr.cn-north-1.myhuaweicloud.com/org-pj/aienvir :16.04

其中,org-pj为镜像所属组织,可以在SWR的“组织管理”创建。

④ 在SWR中查看上传镜像

图片7.png

⑤ 将镜像权限设置成“公开”,才能在构建任务中使用

图片8.png

⑥ 获取该镜像地址(docker pull后面内容),在代码仓库dockerfile中引用

图片9.png

4.2 创建构建任务

Ø 新建任务,输入任务名

图片10.png

Ø 选择源码仓库

图片11.png

Ø 不使用模板,直接创建任务

图片12.png

Ø 点击左侧“+”,选择“使用SWR公共镜像”操作类型

图片13.png

Ø 输入构建详细信息

图片14.png

注意:“组织”需要在容器镜像服务中预先创建完成:

图片15.png

4.3 构建目标

执行构建任务时,会根据object_detection代码仓库中Dockerfile文件依次执行任务:

图片16.png

部署

5.1 非模板部署任务

Ø 新建部署任务,部署类型选择“非模板任务”

Ø 编辑“部署设置”

① 选择已购买的集群

② 选择SWR生成的镜像,并设置内存及CPU大小

③ 输入设置访问方式:容器端口为Dockerfile中“EXPOSE”开放的端口,对应的访问端口为服务器访问端口。

图片17.png

5.2 查看部署效果

部署成功后,在华为云应用引擎中,可以在工作负载中查看“无状态”节点

图片18.png

点击“外部访问网址”,登录服务器,上传图片进行图片识别

图片19.png

至此,恭喜您打通了DevCloud的各服务,完成了python云上开发环境的搭建。

 

华为云DevCloud,5人以下额度范围内,可以免费使用,并且可以预约免费的产品演示和技术交流,详情查看华为云官网