单一构建系统发布与部署的业界现状研究

举报
Jet Ding 发表于 2020/09/29 15:49:12 2020/09/29
【摘要】 【引言】大家好,在本文中我们会讨论并探索一下在当前业界比较流行的单一构建(Single Build)系统发布与部署的现状。希望本文可以对正在进行相关系统研究的同事提供一些参考。【何为单一构建系统发布】单一构建(Single Build)是对于一套自成体系的系统的描述,旨在强调系统设计的整体性和统一性。所以,单一构建(Single Build)系统发布也即是一套系统的发布。【何为系统发布】我们...

【引言】

大家好,在本文中我们会讨论并探索一下在当前业界比较流行的单一构建(Single Build)系统发布与部署的现状。希望本文可以对正在进行相关系统研究的同事提供一些参考。


【何为单一构建系统发布】

单一构建(Single Build)是对于一套自成体系的系统的描述,旨在强调系统设计的整体性和统一性。所以,单一构建(Single Build)系统发布也即是一套系统的发布。


【何为系统发布】

我们先来了解一下何为系统发布。我们说系统发布是一个过程的描述,它是指对于整套系统提供的一个或者多个修改,在经过构建,测试以及部署这一系列操作过程的集合。

简单来讲,一个或者多个修改的产出即为系统发布。

 

【常见的例子】

微软IE浏览器版本10到微软IE浏览器版本11的升级过程即为一个系统发布。

 

建筑设计公司向客户提供房屋建造蓝图设计。该设计会告诉客户将来的房屋会是什么样子。该设计即为设计公司在房屋设计阶段的系统发布。

 

电影在制作完成以后的公开放映也是一个系统发布。

 

【系统发布包含的内容】

整个系统发布涉及到了系统集成,系统功能和系统处理的打包,编译构建,测试和部署到生产环境的一系列操作。并要确保发布的系统能够契合当初的需求设计。

 

【系统发布管理对客户带来哪些好处】

一个完善的系统发布管理过程,会:

1.     给客户以充足的信心接受系统的修改并能制定出最优化的成本计划,把可能的风险降到最低。

2.     为客户商业目标的实现保驾护航。

3.     确保服役系统的一致性。

4.     可以从容应对来自各方的审计要求。

 

【系统发布单元】

这一小结说一下发布单元。一个典型的发布单元要包含足够的组件以保证其可以执行一个单一的有效功能。通常来讲,发布单元可以随同整套系统一起发布。

 

【系统发布单元的例子】

Windows操作系统上发布的一个补丁(一个发布单元)。

Windows操作系统上发布的一个服务包(一个发布单元,可包含多个补丁)。

去餐馆点餐时点了两份扬州炒饭(一个发布单元),又加了一份鱼香肉丝(一个发布单元),又加了两份米饭(一个发布单元)。 

从以上的例子中可以看出,一个发布单元可以包含一个或者多个发布单元。

 

【系统发布中常见方式】

全量发布或者阶段性发布

【全量发布】

这种发布是指一次性的把系统配置给所有用户。常见的例子如新电影的发布,Windows新操作系统的发布,安卓新系统的发布, iOS新系统的发布等等。

 

【阶段性发布】

这个发布是指针对性的发布:

a.     可以针对特定客户群进行发布。

b.    可以针对特定的地理区域或者行政区域进行发布。

常见的例子如某一款汽车的发布,开始时先在原产地进行发布,随后推广到一些国家,进一步再推广到全球市场。

 

推送发布或者客户自己拉取发布

【推送发布】

这种发布是指把系统发布推送到所有需要推送的目标上。

比如,把Windows系统的补丁发送到一个公司内所有的电脑上。


【拉取发布】

这种发布是指把系统发布放到一套中央系统上,客户可以选择适当的时机,通过自己拉取的方式部署。

比如,手机系统的升级包出来以后,用户可以根据自己的时间来安排拉取升级。


自动发布或者手工发布

【自动发布】

这种方式是通过自动化的机制对发布进行部署。这种方式可以确保系统更新的一致性,可以最大限度的避免部署出错。


【手工发布】

这种方式是通过手工的方式部署系统发布。需要部署者具有很强的业务素质,并且能够时刻关注系统的状态。这种方式效率不高而且很容易出错,一般在生产阶段不推荐使用。

 

【系统发布包】

一个系统发布包可以包含一个单一的发布单元或者一个系列的发布单元。

一个典型的例子是微软的Office套件。套件中包含多个发布单元: Word, Access, PowerPoint, Excel, Outlook


Cygwin发布部署的例子】

image.png

现在我们看一下Cygwin的发布和部署例子。上图中显示本次安装版本为2.901(64 bit)。这个版本指明了当前的发布是一个单一构建系统,版本号是2.901 (64bit) 

 image.png

此处可以选择给本机所有用户使用还是只允许当前用户使用。这是对用户群体进行选择的一个实例。

image.png

这一步演示了安装包的选择。

image.png

上图中演示了当版本号不匹配时的报错示例,这里该安装程序提示了用户当前的版本冲突和操作建议。

image.png

(图5

image.png

(图6

上图演示了子应用程序包的安装和删除等操作的情形。

image.png

(图7

上图演示了在选中子安装包以及对应操作以后,安装程序会给出操作建议。比如,基础包不应该被卸载。

image.png

(图8

本图演示了经过上一步的提示,按照安装程序给出的建议操作以后的运行效果,也就是放弃卸载基础包。

image.png

(图9

上图演示了操作完成的情况。


【小结】

本文对于单一构建系统的发布和部署在当前业界的现状做了一个简单的描述和分析。它的核心理念旨在提供一种简单,可靠而又行之有效的系统发布和部署管理方式。具体到每个业务产品系统发布和部署中,我们需要以此理念为指导,并结合实际的业务场景规划出己方系统的发布和部署方案来。

希望大家多多评论,留言,批评和指正。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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