Python on 华为云DevCloud

网友投稿 590 2022-05-30

1 概述

1.1 文章目的

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

1.2 项目详情

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

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

构建环境:docker 18.03

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

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

容器镜像服务 SWR

云容器引擎 CCE

1.3 前提条件

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

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

2 项目管理

2.1 创建项目

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

2.2 创建迭代

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

3 代码托管

3.1 创建仓库

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

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

4 构建&发布

4.1 SWR上传基础镜像

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

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

① 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环境中逐一安装:

③ 上传镜像

#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

Python on 华为云DevCloud

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

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

④ 在SWR中查看上传镜像

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

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

4.2 创建构建任务

Ø 新建任务,输入任务名

Ø 选择源码仓库

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

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

Ø 输入构建详细信息

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

4.3 构建目标

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

5 部署

5.1 非模板部署任务

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

Ø 编辑“部署设置”

① 选择已购买的集群

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

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

5.2 查看部署效果

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

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

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

6 附录

【云视界Live】大咖手把手教你玩转知识点

企业敏捷转型之初试Scrum

企业架构转型之初试“微服务”

【最佳实践】短视频、快节奏,教你如何端到端践行DevOps

如何开发一款简单好用的在线接口文档管理工具

【On DevCloud】以语言为维度讲解如何将项目迁移上云

Android on 华为云DevCloud

软件开发平台 DevCloud python 软件开发云

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java杂记(一)
下一篇:Java的反射机制
相关文章