<强> 强> <强>
强>
软件生命周期各个过程也组成了软件工程的“业务流”,而在不同团队采用相应地开发模式中,具体执行的开发及相关的活动,我们则成为工作流”。
DevOps实践中,最主要改进的内容,就是对于这些“工作流”的活动进行“关停并转”,从而实现整体与局部上对于效率的提升。
这些工作,也就是需要开展的活动,可以分为以下几类:
<强>人与人的互动强>
这类活动交互的双方均为自然人,如业务需求收集,活动的特点是具备高度的不规则与不规律性。
<强>人与机的互动强>
这类活动交互的一方为自然人,一方为依托于计算机的程序,如编码活动,人工审核/审批等,活动的特点是人的活动必须依循计算机相关主题的规则,部分活动可以抽取为规范化的过程。
<>强机与机的互动强>
这类活动的特点是交互的双方都是依托于计算机的程序,如编译构建,自动化测试,活动的过程高度规范化。
<强>强> 中,则更强调信息的跨阶段共享,面向产品的全生命周期,共享信息包括: <强> 强> <强>
强> 平台,可实现对于“机与机的活动”全自动协作调度,对于“人与机的活动“简化协作调度,对于“人与人的活动”事件驱动协作调度,进而实现优化协作调度的效率,提升协作效果。 平台的流水线引擎实现,通过流水线编排的实现指定作业流自动执行,执行过程中自动完成不同阶段的信息交互,过程无需人工参与。 平台的流水线引擎实现,在流水线作业流中编排需要人工干预的节点,但仅需要人工给出通过/终止等简单的指令型信息即可。 中的协作调度的效果可以通过研发效能来进行初步的评估与衡量,通过衡量,我们可以较为清晰的获知哪个阶段的协调调度是关键阻碍点或可以进一步优化。 <强> 强> <强>
强> ,实现软件过程自动化以及软件过程的支撑工作自动化。 <>节
软件过程自动化是指在软件的开发,测试,部署等过程中,引入自动化的手段,从而实现快速的软件质量检查,以及软件应用发布。
%20
通过流水线引擎,实现以上内容的自由,可视化编排,以及按需执行。
%20节> <强>%2002, 强> <强>%20强>
软件过程支撑主要是指面向软件工程过程的支撑,实现自动化包括:
<强>编译构建环境自动化