企业持续交付流水线平台执行引擎子系统设计与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:tangzai521
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
现代软件的开发大部分都采用敏捷开发模式,软件迭代周期大大缩短,每天都要进行持续集成,继而发布新的版本。每次的软件发布都有一系列需要遵循的过程,包括源代码获取、代码扫描、单元测试、代码构建、测试环境部署、接口测试、灰度部署等步骤。如果人工来完成这些步骤,不仅费时费力而且容易出现错误,开发效率也随之降低。在这样的背景下通过建设持续交付流水线平台,可以基于代码变更全自动化地完成测试、构建、部署等一系列行为,降低交付流程中的人工操作和时间成本,减少人为因素造成的错误。目前持续交付系统大都基于Jenkins[Berg,2015](一个开源的自动化服务)进行建设,由于Jenkins自身架构的特点,使其适用于小型开发团队或企业,却很难应对企业内大量的持续集成持续交付任务,所以企业内通过自研流水线任务执行引擎来解决这一问题。本文首先分析了基于Jenkins建设的持续交付平台的优点和劣势,然后分析了自研流水线任务执行引擎的建设目标和需要满足的需求,随之介绍了该执行引擎设计与实现,并对系统进行功能测试和性能测试,保证其满足建设目标和需求。自研持续交付流水线执行引擎不仅能够保留原有Jenkins服务作为执行节点,而且能够集成企业内已有的成熟工具服务,也能够在未来扩展更多类型的执行服务,为不同类型的任务如源代码获取、单元测试、灰度部署等提供稳定可靠的执行服务,轻松应对企业内发布高峰期的持续交付场景。该持续交付流水线平台已经上线半年之久,流水线执行引擎子系统为平台提供高可用、高并发、高性能的任务执行服务,完美的替换了以前基于Jenkins开发的持续集成系统。平台提供持续集成流水线、持续交付流水线、代码合并流水线、提测流水线等,满足日常开发基本需求。不仅如此,用户也可以根据平台提供的基础组件如单元测试等,轻松地创建出自己的流水线,从而不再需要进行以前复杂的人工操作,极大的提高了开发效率。
其他文献
服务商是随着阿里广告联盟业务发展由头部推广者衍生出来的角色。在广告联盟发展过程中,部分头部推广者们的核心工作由推广广告逐步转变成了分发推广任务、精细化运营推广过程。同时他们可以通过收取服务费的方式获得大量收益。因此,这些头部推广者转变为服务商,成为阿里广告联盟中的重要角色。目前服务商大多是在线下渠道和广告主接触,缺乏有效管控,因此阿里广告联盟迫切需要一套线上机制来管控服务商。针对阿里广告联盟对服务
学位
图像作为一种重要的信息传递载体,在其生命周期过程中会受到各种因素的影响,从而引入噪声。噪声图像丢失了一部分信息,不仅阻碍了人对图像信息的获取,而且也对各种图像任务的准确率,例如图像分割、目标检测等产生直接的影响。因此进行图像去噪研究是一项非常重要的任务。经典图像去噪算法是一种基于数学方式的优化方法,其去噪过程是一个数学优化过程。如果图像分辨率很高,去噪处理需要花费很长的时间。因此经典图像去噪算法很
学位
近年来,随着中国经济的快速发展,国内银行市场不断扩张,相应支撑银行各种业务的信息系统也不断增多。作为特殊领域的银行应用系统,有着极为严格的监管要求,需要对应用系统服务器状态、数据业务状态等实施细粒度实时监控。然而,现有银行监控系统监控场景单一,监控后的告警信息缺乏有效管理,加上异构数据比例越来越大,无法挖掘大量数据的隐藏价值。此外,新的业务场景在产生大量数据的同时,还要求对这些数据进行高效处理,给
学位
近些年来,深度学习技术备受瞩目,在计算机视觉、自然语言处理等各个计算机技术领域大放异彩,取得了超越传统方法的效果。图像的重建与生成是计算机视觉领域重要的研究方向之一。图像重建(Image Reconstruction)旨在通过低层次稀疏的语义信息,通过各种手段去还原获得原始的高层次丰富的图像信息。无论在艺术领域的AI辅助绘图,工业设计领域的原型快速批量生成,还是在刑侦领域的嫌疑人肖像重建,图像重建
学位
随着华泰证券公司IT工作平台的模块数量日益增加,为了实现IT资源的高可用性,降低数据中心的运维成本,公司已经基本初步实现了“虚拟化数字中心”的建设。而传统的基于后台的虚拟化服务器管理方式,随着服务器数量的逐渐增加,管理员的工作强度也会相应增加。所以本文提出了面向华泰证券公司运维人员使用的服务器部署推荐系统,运维人员在系统中对公司机房内的服务器进行上架和下架,通过对于数据库中服务器信息的即时维护,使
学位
近些年来,随着软件规模的不断增长,加之软件需求的多样性、数字环境的复杂性、一致性、易变性和不可见性等因素的影响,软件的开发效率和质量仍无法满足软件产业发展的客观需要。因此,软件技术不断更新,其中用户需求的复用颇受关注。需求工程是软件开发过程中最早的阶段,用户需求的复用可以节约需求分析的时间,还可以帮助快速定位到其它可复用的软件资产。为了方便用户需求的复用,需要将非正式的、非结构化的用户需求转写为结
学位
随着信息产业的发展,软件产品的规模逐渐增大,企业中软件系统的回归测试成本也在迅速增加。许多企业面临测试时间长、效率低的问题。如何能够提高测试过程的效率和准确率是回归测试中一个重要的问题。为了解决这一问题,研究人员提出了测试用例优先级(TCP,Test Case Prioritization)技术,通过对测试用例进行排序,使代码缺陷尽早的被发现,缩短从测试人员发现故障到开发人员进行修复的时间。目前企
学位
随着对知识图谱的研究不断深入,以事件为核心进行知识组织表示的方式逐渐被提出。已有的知识库通常关注“实体”以及“实体间的关系”,而忽视“事件间的逻辑”。但是,在真实场景的应用中,事理逻辑是一种极具价值的认知知识,对于这种知识的挖掘将使得人们对自身行为和社会发展变化规律的认识更加深刻。事理图谱就是以“事件”为核心而提出的新型知识存储形式,本质上它同样是一种知识的结构化表示方式,但由于其对事件的演化,通
学位
社交化客户关系管理(Social Customer Relationship Management,SCRM)是在技术平台、商业规则、工作流程和社会特征支持下的一种企业哲学和商业策略,旨在使客户与企业协同联动,以便在可信、透明的商业环境中实现互惠互利的价值共赢。这是企业对客户话语权的积极响应。随着互联网的高速发展和Web2.0时代的到来,客户关系管理正在由以客户为中心的CRM逐步向以社交化媒体为中
学位
构建于传统企业级数据仓库之上的应用系统大都采用SQL结构化查询语言来访问数据,并广泛使用PL/SQL(Procedural Language/SQL,过程化SQL语言)来实现复杂业务逻辑。在大数据时代,基于传统关系型数据库或大规模并行处理架构建设的数据仓库已无法满足企业对于海量数据的处理需求,企业亟需将传统数仓应用平滑迁移至大数据平台。但是大部分现有大数据平台的数仓解决方案对于SQL语言的支持力度
学位