一. 华为云软件开发云与Python

1. 华为云软件开发云简介

华为云软件开发云(DevCloud)是集华为近30年研发实践,前沿研发理念,先进研发工具为一体的一站式云端DevOps平台,面向开发者提供包括项目管理,代码托管,流水线,代码检查,编译构建,测试管理,移动应用测试,部署,发布,CloudIDE,研发协同等基础功能的研发工具服务。覆盖软件开发全生命周期,支持多种主流研发场景,让软件开发更高效。

官网入口:https://www.huaweicloud.com/devcloud/

2.Python特点

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

·Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

·Python 是交互式语言:这意味着,您可以在一个Python提示符,直接互动执行写你的程序。

·Python 是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

·Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

3.Python在软件开发云的应用

应用华为云软件开发云的流水线功能可以帮助Python开发者实现一键自动化开发部署,其中需要应用到代码仓库,编译构建,发布,部署等功能。

因为Python没有编译构建的过程,所以在实际开发过程中他是可以不用编译直接发布的,但是在华为云软件开发云中云端部署需要可识别的软件包,所以在华为云软件开发云中需要对Python的程序进行打包。打包的好处是不仅可以打通编译到部署的自动化流程,避免二次手动传包影响开发效率,还可以在编译构建后自动归档到发布仓库中,对软件包进行归档管理,帮助企业完善产品构建的发布管理。下面,就让我们看看如何在华为云软件开发云中跑通一个Python项目。

二.Python流程搭建示例

1.代码仓库

华为云软件开发云提供基于Git的代码托管仓库,仓库提供可视化的管理界面,支持文件在线编辑,仓库提交记录,代码贡献度统计等多种功能,满足各类开发者的需求。Python开发者可将自己的Python代码上传到此仓库中进行代码托管。

本demo中采用华为云软件开发云的代码仓库,建立空仓后,通过Git命令,与本地仓库进行关联,完成代码同步

2.编译构建

因为Python没有编译构建的过程,所以在实际开发过程中Python工程是可以不用编译直接发布的,但是在软开云中云端部署需要可识别的软件包,所以在软开云中需要对Python的程序进行打包。

华为云软件开发云编译构建服务支持多种开发环境的构建,也支持Python类型构建egg格式软件包,本demo中为了打通部署,形成自动化研发流程,采用Other构建类型,通过shell脚本将demo程序打成.tar格式的软件包。并在打包后自动上传到发布仓库进行版本归档管理。

在构建类型中输入要执行的shell脚本命令。本样例中执行命令为将demo输出为.tar格式的软件包。

在构建执行配置中设置构建成功后将软件包上传归档到发布仓库的具体信息。

3.发布

华为云软件开发云提供4中类型的发布仓库,前两种是远程Maven私仓,用于Maven类型构建过程中第三方依赖包的的管理。第三个仓库是mirror镜像仓,镜像了一些构建过程中经常以来的中央仓到后台,提升构建速度,体现云端构建的优势。我们本次demo中应用最后一个编译构建仓库,作为生成的软件包的版本归档管理仓库。

4.部署

当代码构建打包成功并归档到发布仓库后,可以进行部署工作。部署任务一共氛围四部分,分别是主机授权,编辑模版,编写脚本和执行部署。

先将主机添加到授信机器列表中。

因为python程序在发布的时候需要执行setup.py文件,不同工程有其特殊性,故通过自定义模版和执行shell脚本两种方法相结合的方式完成自动化部署。

本demo中部署模版和shell脚本任务分配样例:

部署模版:执行目录创建,软件包拷贝,解压

Shell脚本:提取占用端口进程号,解除端口占用,定位目标文件夹,执行setup.py,运行程序文件

完成任务后执行部署任务即可。

5.流水线

当所有流程打通之后,设置对应的流水线,将所有流程添加进去,实现自动化的构建发布部署一键执行。

将需要的任务添加进流水线中,并运行流水线。

如何在华为云软件开发云上运行Python的更多相关文章

  1. 如何在华为云软件开发云上搭建JavaWeb,Maven项目

    本文将使用华为云软件开发云向大家演示如何搭建JavaWeb,Maven项目. 一.相关信息 1.华为云软件开发云简介 华为云软件开发云(DevCloud)是集华为近30年研发实践,前沿研发理念,先进研 ...

  2. 华为云软件开发云VS开发痛点=?

    在软件开发的过程中,是不是总会遇到这些问题: 搭建一个开发环境,用了九牛二虎之力,悲催的是竟然用不了…… 团队同事突然出差,他写的代码出现问题,我却不会改…… 提升软件件质量靠代码,交叉看.找大拿,简 ...

  3. 华为云软件开发云:容器DevOps,原来如此简单!

    当开发团队把代码提交到 Git 应用仓库的那一刻,他们心里在想什么? 祈祷没有bug?渴望回家补觉?产品经理Go Die? 对,也不对.因为这只是最终发布万里长征的一小步,接下来要面对测试环境.生产环 ...

  4. 华为软件开发云(DevCloud):免费可商用的项目管理工具

    在软件开发技术和理念层出不穷的今天,如何更快的适应变化的环境,更好的满足客户的需求,已经成为决定从小到大各种规模企业能否活下去的关键. 天下武功唯快不破,在当今大环境中更是如此,微服务,敏捷开发,新的 ...

  5. 如何使用华为软件开发云快速部署PHP网站

    华为软件开发云这个工具,从去年推出我就一直在关注,毕竟是华为最新的一款软件开发工具,最近我一直在使用华为软件开发云进行开发项目管理,它有在线编译和构建.云端在线代码检查等功能,编译省去了很多物理机器的 ...

  6. Eclipse安装Git插件以及通过Git导入华为软件开发云项目

    --内容提交-- 1.    Eclipse安装Git插件 2.    在Eclipse中导入华为软件开发云项目, 以及常用Git操作 一. Eclipse安装Git插件 现在从eclipse官网下载 ...

  7. GitHub转华为软件开发云详细教程

    一.复制GitHub的代码库地址 首先,打开Github网页,找到要迁移的代码仓库地址,如下: 点击Clone or Download,出现以下界面 点击Copy toclipboard(复制到粘贴板 ...

  8. 如何将Android Studio与华为软件开发云代码仓库无缝对接(二)

    上篇文章:如何将Android Studio与华为软件开发云代码仓库无缝对接(一) 上一章讲了,如何用Android Studio以软件开发云代码仓库为基础,新建一个项目.接下来,这一章继续讲建好项目 ...

  9. 华为软件开发云对比Jenkins-JavaWeb项目持续部署方式

    一.前言:Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成和持续部署变成可能. 本文 ...

随机推荐

  1. 页面事件(Init,Load,PreRender)执行顺序

    简介 对由 Microsoft® Internet 信息服务 (IIS) 处理的 Microsoft® ASP.NET 页面的每个请求都会被移交到 ASP.NET HTTP 管道.HTTP 管道由一系 ...

  2. [Nuxt] Use Vuex Actions to Delete Data from APIs in Nuxt and Vue.js

    You'll begin to notice as you build out your actions in Vuex, many of them will look quite similar. ...

  3. [WASM] Create and Run a Native WebAssembly Function

    In this introduction, we show a simple WebAssembly function that returns the square root of a number ...

  4. 结合Wireshark捕获分组深入理解TCP/IP协议栈

    摘要:     本文剖析了浏览器输入URL到整个页面显示的整个过程,以百度首页为例,结合Wireshark俘获分组进行详细分析整个过程,从而更好地了解TCP/IP协议栈.   一.俘获分组 1.1 准 ...

  5. 初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序

    原文:初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序 1. 安装.NET Core 安装包下载地址:https://www.microso ...

  6. Satisfying memory ordering requirements between partial reads and non-snoop accesses

    A method and apparatus for preserving memory ordering in a cache coherent link based interconnect in ...

  7. 并查集(disjoint set)的实现及应用

    这里有一篇十分精彩.生动的 并查集详解 (转): "朋友的朋友就是朋友"⇒ 传递性,建立连通关系 disjoint set,并查集(一种集合),也叫不相交集,同时也是一种树型的数据 ...

  8. mysql查询字段所在表

    use information_schema;select * from columns where column_name='字段名' ;

  9. 图像数据的 normalization

    Normalization的方法 matlab 工具函数(三)-- normalize(归一化数据) 1. 加载指定标准差的噪声 im_clean = double(imread('Lena512.p ...

  10. Thinking in UML 学习笔记(二)——UML核心视图之用例图

    在UML中,需求模型又称为用例模型,它主要用于描述系统的功能性需求,即软件可以实现的功能,如登录.注册.入库.出库.查看库存报表.增加员工信息等.常规的用例建模一般包括两个组成部分:绘制用例图和编写用 ...