虚拟化软件构建系统技术方案

技术编号:12409722 阅读:90 留言:0更新日期:2015-11-29 18:03
本发明专利技术涉及虚拟化软件构建系统。一种软件自动构建系统包括一个或更多个源代码库,所述一个或更多个源代码库包括软件产品的源代码和构建系统的源代码。构建系统的源代码将指定构建和测试环境的配置作为配置文件存储,所述配置文件能够由用户远程访问以复制一致的虚拟构建和测试环境,从而用于使用虚拟机在不同位置开发和测试软件产品的代码。该系统可以包括基于配置的一个或更多个构建系统实例。该系统可以保存配置版本从而多个构建系统版本能够被访问和虚拟构建。

【技术实现步骤摘要】
【专利说明】虚拟化软件构建系统本申请要求2014年5月14日提交的美国临时申请序列号61/993,102、标题为“软件测试和构建系统(SOFTWARE TEST AND BUILD SYSTEM) ”的权益,本文通过引用清楚地将其全部内容纳入。
技术介绍
开发软件可能涉及需要协调管理的复杂过程。多个用户可能在不同的位置致力于不同的项目。已经有必要依赖各种过程(包括人工管理)保存和追踪系统。【附图说明】图1是示出一种虚拟构建和测试系统的示例性实例的各个方面的图表。图2是不出一种不例性版本化构建和测试系统的各个方面的图表。图3A和图3B是示出一种版本化构建方法的各个方面的流程图。图4是一种根据本文提供的各个方面使用的各种硬件组件和其他特征的示例性系统图表。图5是根据本文提供的各个方面的各种示例性系统组件的图表。【具体实施方式】下文结合附图阐述的【具体实施方式】旨在作为各种配置的描述,并且不旨在仅表示本文描述的概念可以被实现的配置。出于提供对各种概念的完全理解的目的,该【具体实施方式】包括具体细节。然而,可以在没有这些具体细节的情况下实现这些概念,这对于本领域技术人员而言将是明显的。在一些情况下,以方框形式示出已知结构和组件以避免模糊这些概念。现在将针对各种设备和方法描述软件构建和测试系统的若干方面。这些设备和方法将在下列【具体实施方式】中描述并通过各种框图、模块、组件、电路、步骤、过程、算法等(统称为“元件”)在附图中示出。这些元件可以使用电子硬件、计算机软件或其任意组合实施。这些元件是否作为软件或硬件实施取决于具体应用和施加在整个系统上的设计约束。在过去,已经有必要依赖各种过程(包括人工管理)保存和追踪系统以用于开发软件产品的源代码。不仅有必要在具体时间点追踪构建系统本身,而且有必要追踪构建系统所需要的工具。本文提供的版本化构建和测试系统(Vers1ned Build and Test system,VBT)的各个方面提供一种在开发软件时(甚至在使用可以在不同位置运行的不同系统实例完成构建时)创建一致的构建结果的方法。在一些实施例中,VBT系统可以允许管理员使用配置文件指定构建和测试环境的配置。之后,多个用户(无论在相同地点或不同地点工作)能够使用配置文件构建包括虚拟机的一致虚拟构建和测试环境。用户接着能够使用VBT实例构建和测试他们的软件项目并获得一致的结果。多个用户的任意一个对构建系统进行的改变和改进能够以协调和受控的方式与构建系统的所有其他实例共享。此外,构建系统的每个实例能够被分支以满足各种用户构造的应用程序和操作系统的独特需求而不影响构建的其他应用程序(例如,由相同构建系统构建的)。在一些实施例中,VBT能够以下列方式提供一种建立和维持构建和测试环境的方法:在需要改变时保存和版本化构建系统的变化。在一些实施例中,这允许有能力在未来时间点精确再生若干先前版本中的任何一个,以便先前版本中构建的组件能够以完全相同方式再次精确构建。VBT的每个单独的运行版本是实例。VBT的不同实例可以被指定为生产环境、分级环境和开发环境中的任何一个。VBT的实例还可以在不同类型的环境之间切换。先前,有必要依赖各种过程和步骤(这些中的一些是人工的)保存和跟踪构建系统。不仅有必要跟踪构建系统本身,而且有必要跟踪例如提供对一个或更多个构建系统的控制的集成工具以及构建系统可能已经需要或在某个时间点可能已经需要的任何工具。在特定实施例中,VBT系统能够提供一种随时间跟踪构建系统的所有组件的方式。图1示出VBT系统100的实例的示例性图表。VBT系统可以包括支持机102、构建机104、构建主机106和封装主机108,其每个可以是不同的虚拟机实例。虚拟支持机102(也被可互换地称为“结构系统”或“结构”)可以是给其他系统提供支持和实用功能的虚拟机。构建机104(也被可互换地称为“构建器”)可以是运行构建工作的虚拟机。因此,虚拟构建机实施任务以构建软件产品的代码。构建主机106可以是提交并监测已经提交到虚拟构建机104的构建工作的虚拟机。因此,虚拟构建主机管理软件构建项目内的任务以构建软件产品的代码。VBT主机系统1-8可以是封装其他虚拟机并能够在构建机104和构建主机106之间通信的虚拟机。因此,VBT 100的实例在虚拟主机108上运行。VBT形成具有其自身的存储器的虚拟计算机。结构系统102在封装主机系统108内建立本地化网络环境,其允许其他虚拟机104、106相互通信并与VBT主机系统108外部的其他系统通信。VBT可以用在各种场景中。作为一个示例,在新项目开始时,可以使用最新的VBT,例如,使用最新的VBT配置文件,实例化VBT。接着新的构建工作可以在VBT的构建主机106内建立。—旦已经执行可行构建工作,这些工作能够签入中央库中以便其他用户能够使用它们构建新的项目。在一些实施例中,库可以是,例如,分布式版本控制和源代码管理(SCM)系统,如Git源库。在另一个示例中,为了进行现有项目,可能已经签入构建工作。在一些实施例中,一旦最新的VBT系统启动并运行,这些构建工作能够被签出以开始在特定的VBT系统中构建项目。在过去,先前的构建服务器需要输入人工配置并人工保存变化。单个实体存储与项目有关的信息。需要访问这个单个点以接收和执行构建工作。由于试图访问系统的数量庞大的用户,这是有问题的并且要求大量的人工管理以保证环境完整性。作为对比,如本文提供的,保持虚拟环境的配置以便整个构建和测试环境可以以自动方式(如在远程位置)构建和/或重新构建。VBT涉及将构建和测试软件产品的代码中涉及的虚拟机的源代码作为源代码存储。这允许在任何时间将机器重构为虚拟机。VBT的每个实例复制整体环境,包括VBT的源代码、构建服务器和虚拟机。本文提供的VBT的各个方面解决限制先前系统的远程用户的访问问题。在过去,先前系统的远程用户需要持续访问存储在中央环境中的源代码。通过实例化整个构建和测试环境(包括VBT源代码、虚拟构建服务器、虚拟构建管理器、虚拟结构管理器等)的完整副本,远程用户能够通过在它们自己的构建环境的虚拟副本内工作独立于主要(primary)/中央环境构建。当启动VBT实例时,其与存储在中央库中的源代码同步。该实例可以从(例如,项目环境的)中央源代码服务器接收同步信息。虚拟副本实例还可以将完成的项目签入到(例如,当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种软件自动构建系统,其包括:一个或更多个源代码库,所述一个或更多个源代码库包括:软件产品的源代码;和指定构建和测试环境的配置,所述配置存储在配置文件中,所述配置文件能够由用户远程访问以复制一致的虚拟构建和测试环境,从而用于使用虚拟机在不同位置开发和测试软件产品的代码。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:G·C·波拉哈拉斯E·特瓦彦D·科恩
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1