Python on 华为云DevCloud

举报
DevCloud 发表于 2019/01/10 17:08:12 2019/01/10
【摘要】 本文主要想为研发Python项目的企业或个人提供上云指导,通过本文中的示例项目 “AI物体检测”,为开发者提供包括项目管理,代码托管,代码检查,编译构建的操作指导,覆盖软件开发全生命周期。

概述

1.1 目的

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

1.2 项目详情

项目简介:AI物体检测应用程序,浏览器从本地上传JPGPNGJPEG格式的图片,使用已经训练好的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 

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

附录

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

企业敏捷转型之初试Scrum

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

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

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

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

Android on 华为云DevCloud


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。