本公开涉及在开发环境中管理开发作业的方法、设备和程序产品。在一种方法中,确定用于在开发环境中执行开发作业的作业模板。获取与开发作业相关联的配置信息,配置信息定义开发环境的用户针对执行开发作业的配置参数的偏好。基于作业模板以及配置信息中定义的配置参数,生成开发作业实例。针对来自用户的代码集执行开发作业实例,以便构建用于执行应用程序的映像。开发人员无需编写开发作业的代码,而是可以通过修改配置信息的方式,来生成包括期望的配置参数的开发作业实例。可以提高开发人员的工作效率,并且可以维护公共的开发模板以便多个开发人员使用。进一步,提供了用于在开发环境中管理开发作业的设备和计算机程序产品。品。品。
【技术实现步骤摘要】
在开发环境中管理开发作业的方法、设备和程序产品
[0001]本公开的各实现方式涉及软件开发的领域,更具体地,涉及用于在软件开发环境中管理开发作业(job)的方法、设备和计算机程序产品。
技术介绍
[0002]随着计算机技术的发展,软件开发项目的规模越来越大并且需要大量开发人员的协同工作。每个开发人员可以负责项目中的一部分功能,并且来自多个开发人员的代码可以被集成到项目中。随着软件开发项目复杂度的增加以及开发人员数量的增加,如何集成来自大量开发人员的代码并确保整个软件开发项目可以被正确地构建(build)和测试等,成为一个研究热点。
技术实现思路
[0003]因而,期望能够开发并实现一种以更为有效的方式来管理开发环境中的开发作业的技术方案。期望该技术方案能够与现有的开发环境相兼容,并且通过改造现有开发环境的各种配置,来以更为有效的方式管理开发环境中的开发作业。
[0004]根据本公开的第一方面,提供了一种用于在开发环境中管理开发作业的方法。在该方法中,确定用于在开发环境中执行开发作业的作业模板。获取与开发作业相关联的配置信息,配置信息定义开发环境的用户针对执行开发作业的配置参数的偏好。基于作业模板以及配置信息中定义的配置参数,生成开发作业实例。针对来自用户的代码集执行开发作业实例,以便构建用于执行应用程序的映像(image)。
[0005]根据本公开的第二方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得电子设备执行用于在开发环境中管理开发作业的动作。该动作包括:确定用于在开发环境中执行开发作业的作业模板;获取与开发作业相关联的配置信息,配置信息定义开发环境的用户针对执行开发作业的配置参数的偏好;基于作业模板以及配置信息中定义的配置参数,生成开发作业实例;以及针对来自用户的代码集执行开发作业实例,以便构建用于执行应用程序的映像。
[0006]根据本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的第一方面的方法。
附图说明
[0007]结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
[0008]图1示意性示出了其中可以实现根据本公开的示意性实现方式的开发环境的框图;
[0009]图2示意性示出了根据一个技术方案的用于管理开发作业的技术方案的框图;
[0010]图3示意性示出了根据本公开的示例性实现方式的用于在开发环境中管理开发作业的过程的框图;
[0011]图4示意性示出了根据本公开的示例性实现方式的用于在开发环境中管理开发作业的方法的流程图;
[0012]图5示意性示出了根据本公开的示例性实现方式的配置信息的结构的框图;
[0013]图6示意性示出了根据本公开的示例性实现方式的链接库之间的依赖关系的框图;
[0014]图7示意性示出了根据本公开的示例性实现方式的配置信息中包括的默认配置和定制配置的框图;
[0015]图8示意性示出了根据本公开的示例性实现方式的基于调用请求来更新配置信息中的配置参数的框图;以及
[0016]图9示意性示出了根据本公开的示例性实现的用于在开发环境中管理开发作业的设备的框图。
具体实施方式
[0017]下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0018]在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0019]目前已经提出了支持持续集成(Continuous Integration)和持续交付(Continuous Delivery)的软件开发环境。多个开发人员可以将各自的代码提交至软件开发环境。在软件开发环境中,可以基于接收的代码来创建开发作业(例如,可以包括编译、测试、发布等中的一个或多个)。将会理解,不同的软件开发项目具有不同的需求,并且不同的开发团队具有各自的开发习惯。通常而言,在软件开发公司中可能会存在多个开发团队,并且每个开发团队可以负责软件产品中的一个子系统。此时,不同的软件开发团队需要创建各自的开发作业,以便用于集成来自团队中的多个开发人员的代码。
[0020]在下文中,首先参见图1描述用于执行软件开发的开发环境。图1示意性示出了其中可以实现根据本公开的示意性实现方式的开发环境120的框图100。如图1所示,团队110可以包括开发人员112、
…
、以及114,每个开发人员可以编写自己的代码。例如,开发人员112可以编写代码130、
…
、以及开发人员114可以编写代码132。可以利用代码130、
…
、以及132来生成代码集134。
[0021]可以基于代码集134来执行开发作业140,以便生成用于执行应用程序的映像146。开发作业140例如可以包括构建操作142和测试操作144。在此,构建操作142是指针对代码
集134执行编译和构建以便生成可执行程序的过程,并且测试操作144是指针对生成的可执行程序执行测试,以便生成符合开发需求并且可以执行应用程序的映像146的过程。
[0022]开发作业140的主要功能在于构建软件产品,然而在开发的不同阶段可能会存在不同需求。例如,在持续集成阶段,需要建立调试性版本(debug version)、需要单元测试(unit test)、不需要可用性测试(sanity test)、并且不需要官方签名。又例如,在工程构建阶段,需要建立调试性版本和销售版本(retail version)两者、需要跳过单元测试(由于在持续集成阶段已经完成)、需要可用性测试、并且不需要官方签名。再例如,在发布构建阶段,需要建立调试性版本和销售版本两者、需要单元测试、需要利用更多测试用例执行可用性测试、需要官方签名、并且需要针对生成的映像进行病毒扫描。
[0023]目前已经提出了用于管理开发作业的技术方案。具体地,图2示意性示出了根据一个技术方案的管理开发作业的技术方案的框图200。如图2所示,软件公司可以包括多个团队120和210,并且每个团队可以负责开发应用程序中的不同模块。例如,团队120可以生成代码集134,并且创建开发作业140以便针对代码集134来执行构建本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种用于在开发环境中管理开发作业的方法,包括:确定用于在所述开发环境中执行开发作业的作业模板;获取与所述开发作业相关联的配置信息,所述配置信息定义所述开发环境的用户针对执行所述开发作业的配置参数的偏好;基于所述作业模板以及所述配置信息中定义的所述配置参数,生成开发作业实例;以及针对来自所述用户的代码集执行所述开发作业实例,以便构建用于执行应用程序的映像。2.根据权利要求1所述的方法,其中基于所述作业模板以及所述配置信息中定义的所述配置参数,生成开发作业实例包括:标识所述作业模板中的与所述配置参数相关联的变量;基于所述配置参数更新所述变量的数值。3.根据权利要求1所述的方法,其中获取与所述开发作业相关联的所述配置信息包括:确定所述代码集所依赖的链接库;以及基于所述链接库的标识符设置所述配置信息中的配置参数。4.根据权利要求3所述的方法,其中确定所述代码集所依赖的链接库包括:根据所述代码集所属于的产品类别,确定所述链接库。5.根据权利要求1所述的方法,其中所述配置参数包括构建类型,所述构建类型包括以下中的至少任一项:调试类型以及销售类型。6.根据权利要求1所述的方法,其中所述配置参数包括测试类型,所述测试类型包括以下中的至少任一项:单元测试以及可用性测试。7.根据权利要求1所述的方法,其中所述配置参数包括以下中的至少任一项:签名配置,用于指定是否需要针对所构建的映像执行官方签名;扫描配置,用于指定是否需要针对所构建的映像执行病毒扫描;以及通知配置,用于指定用以接收所述映像的构建报告的接收者。8.根据权利要求1所述的方法,其中所述配置信息包括一组默认配置参数,其中生成所述开发作业实例包括:接收用于生成所述开发作业实例的生成请求;以及根据所述生成请求,利用与所述一组默认配置参数来生成所述开发作业实例。9.根据权利要求1所述的方法,其中所述配置信息包括一组定制配置参数,其中生成所述开发作业实例包括:接收用于生成所述开发作业实例的生成请求;以及根据确定所述生成请求包括指定一组配置参数的标识符,利用与所述标识符相对应的一组定制配置参数来生成所述开发作业实例。10.根据权利要求1所述的方法,进一步包括:接收用于调用所述开发作业实例的调用请求;从所述调用请求中确定用于更新所述配置参数的关键字;以及基于所述调用请求中的与所述关键字相关联的信息来更新所述配置参数。11.一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器耦合的存储器,所述存储器具有存储于其中的指...
【专利技术属性】
技术研发人员:付伟佳,赵俊,
申请(专利权)人:伊姆西IP控股有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。