CN107589966A - 软件开发系统中管理代码的方法和装置 - Google Patents
软件开发系统中管理代码的方法和装置 Download PDFInfo
- Publication number
- CN107589966A CN107589966A CN201710865529.3A CN201710865529A CN107589966A CN 107589966 A CN107589966 A CN 107589966A CN 201710865529 A CN201710865529 A CN 201710865529A CN 107589966 A CN107589966 A CN 107589966A
- Authority
- CN
- China
- Prior art keywords
- code
- program
- fresh
- fresh code
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件开发系统中管理代码的方法和装置。所述方法包括:检测是否有新代码写入到程序的请求;如果有,则获取所述新代码;将所述新代码进行打包处理,形成软件代码包。
Description
技术领域
本发明涉及信息处理领域,尤指一种软件开发系统中管理代码的方法和装置。
背景技术
软件开发流程包括对软件先进行需求分析,设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编码和调试、程序联调和测试以及编写、提交程序等一系列操作以满足客户的需求并且解决客户的问题,如果有更高需求,还需要对软件进行维护、升级处理,报废处理。
在现有技术中,软件项目开发过程中参与人很多,同时对软件代码进行集成,过程非常复杂、而且操作非常频繁,其中还有较多的重复的过程。因此,配置人员手工操作,会费时费力,还容易出错。因此,如何提高代码的集成效率是亟待解决的问题。
发明内容
为了解决上述技术问题,本发明提供了一种软件开发系统中管理代码的方法和装置,能够提高代码的集成效率。
为了达到本发明目的,本发明提供了一种软件开发系统中管理代码的方法,包括:
检测是否有新代码写入到程序的请求;
如果有,则获取所述新代码;
将所述新代码进行打包处理,形成软件代码包。
其中,所述方法还具有如下特点:所述检测是否有新代码写入到程序的请求,包括:
确定程序的主分支程序;
对所述程序的主分支程序上是否有新代码加入进行检测。
其中,所述方法还具有如下特点:在如下任一条件下检测是否有新代码写入到程序的请求,包括:
到达预先设置的检测周期;
接收到代码更新请求。
其中,所述方法还具有如下特点:将所述新代码进行打包处理,形成软件代码包,包括:
将所述新代码加入到程序中,得到更新后的程序;
对更新的程序进行编译,得到软件开发包。
其中,所述方法还具有如下特点:所述将所述新代码进行打包处理,形成软件代码包之后,所述方法还包括:
通知本次代码更新成功。
一种软件开发系统中管理代码的装置,包括:
检测模块,用于检测是否有新代码写入到程序的请求;
获取模块,用于如果有,则获取所述新代码;
打包模块,用于将所述新代码进行打包处理,形成软件代码包。
其中,所述装置还具有如下特点:所述检测模块包括:
确定单元,用于确定程序的主分支程序;
检测单元,用于对所述程序的主分支程序上是否有新代码加入进行检测。
其中,所述装置还具有如下特点:在如下任一条件下所述检测模块检测是否有新代码写入到程序的请求,包括:
到达预先设置的检测周期;
接收到代码更新请求。
其中,所述装置还具有如下特点:所述打包模块包括:
加入单元,用于将所述新代码加入到程序中,得到更新后的程序;
编译单元,用于对更新的程序进行编译,得到软件开发包。
其中,所述装置还具有如下特点:所述装置还包括:
通知模块,用于在将所述新代码进行打包处理,形成软件代码包之后,通知本次代码更新成功。
本发明提供的实施例,通过检测是否有新代码写入到程序的请求,如果有,则获取所述新代码,并将所述新代码进行打包处理,形成软件代码包,相比人工打包,自动集成方案时间更短,响应更快,有新代码合入马上就开始打包,整套的流程全都自动化,大大地提高效率,实现了自动持续集成方案,使自动化集成方案更规范标准。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明提供的软件开发系统中管理代码的方法的流程图;
图2为本发明提供的软件开发系统中管理代码的装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明提供的软件开发系统中管理代码的方法的流程图。图1所示方法包括:
步骤101、检测是否有新代码写入到程序的请求;
具体的,在软件开发系统中,会首先开发软件的主程序,并在主程序基础上开发后续相关的子程序,子程序开发完成后,会将子程序与主程序汇合,因此,在软件开发过程中,可以对主程序进行检测,判断是否有新代码与主程序汇合;
步骤102、如果有,则获取所述新代码;
具体的,输出代码上传页面,提示用户进行新代码上传操作,获取新代码的信息,或者,通知用户将新代码上传至预先设置的路径上,在上传完成后,从该路径下载新代码;
步骤103、将所述新代码进行打包处理,形成软件代码包。
具体的,在得到新代码后,将新代码与原有的代码组合在一起,对新代码进行编译,得到软件代码包。
本发明提供的方法实施例,通过检测是否有新代码写入到程序的请求,如果有,则获取所述新代码,并将所述新代码进行打包处理,形成软件代码包,相比人工打包,自动集成方案时间更短,响应更快,有新代码合入马上就开始打包,整套的流程全都自动化,大大地提高效率,实现了自动持续集成方案,使自动化集成方案更规范标准。
下面对本发明提供的方法作进一步说明:
根据上文的说明,本发明在检测是否有新代码写入到程序的请求时,是通过如下方式得到的,包括:
确定程序的主分支程序;
对所述程序的主分支程序上是否有新代码加入进行检测。
具体的,在确定程序的主分支程序时,可以通过代码上的特定标识,来确定程序中的主程序,从而完成对主程序的自动识别;当然,还可以通过用户的指定来确定程序的主分支程序,简单方便。在确定主分支程序后,判断是否有新代码需要与该主程序组合即可。
当然,为了进一步减少对软件更新的维护成本,可以在如下任一条件下检测是否有新代码写入到程序的请求,包括:
到达预先设置的检测周期;
接收到代码更新请求。
具体的,可以按照软件代码的开发时长,设置检测周期,当到达该检测周期的时长后,对代码进行检测,或者,当接收到用户对软件代码执行更新操作时,请求获取最新的软件代码包时,执行检测操作。
在得到新代码后,需要将所述新代码进行打包处理,形成软件代码包,该操作的具体实现方式如下:
将所述新代码加入到程序中,得到更新后的程序;
对更新的程序进行编译,得到软件开发包。
具体的,在得到新代码后,将该新代码加入到已有的代码中,得到更新后的程序代码,由于代码的改变,目前的程序发生了变化,因此,对更新后的程序进行编译,得到新的软件开发包。
在完成代码更新后,对于上传该新代码的用户,为了让该用户得知代码的更新结果,本发明的方法中,在将所述新代码进行打包处理,形成软件代码包之后,通知本次代码更新成功。
下面以应用实例对本发明提供的方法作进一步说明:
本发明应用实例的方法的关键点主要包括:通过合理恰当地使用现有的代码集成工具,再配合定制化编写的shell脚本,使打包并更新到前端软件包管理器,实现整套流程完全自动化。
该方法实例中,代码集成工具采用的jenkins,前段软件管理器使用的YUM,其中YUM主要应用于在Fedora和RedHat以及CentOS的开发环境中的一种Shell前端软件包管理器。
本发明的应用实例的目的是基于jenkins自动化集成,把最新代码包更新到YUM源,供软件开发者使用。
首先,在环境下部署jenkins服务,在jenkins服务上配置定时任务,同时配置拦截器,当连接的软件开发库有新代码合入主分支后,触发配置的定时任务,定时任务开始执行配置的脚本,脚本的主要功能就是把最新的代码拉到本地,执行python工具生成最新的RPM包,然后把最新的RPM上传到YUM源。
在该方案中,在代码集成攻击上增加配置拦截器,以触发定时任务、执行的定时任务。拦截器可以由jenkins提供,定时任务主要是面向自己环境编写的shell脚本以及一些python功能,能够根据实际的开发环境灵活编写。
本发明应用实例提供的方法,使用jenkins实现自动化集成,使重复性的繁琐的集成方案自动化,解放CI配置管理员的工作量,同时提高打包准确率,也能及时地打包,提高产品研发效率,相比人工打包,自动集成方案时间更短,响应更快,有新代码合入马上就开始打包,整套的流程全都自动化,大大地提高效率;另外,采用jenkins自动持续集成方案,使自动化集成方案更规范标准。
图2为本发明提供的软件开发系统中管理代码的装置的结构图。图2所示装置,包括:
检测模块201,用于检测是否有新代码写入到程序的请求;
获取模块202,用于如果有,则获取所述新代码;
打包模块203,用于将所述新代码进行打包处理,形成软件代码包。
其中,所述检测模块201包括:
确定单元,用于确定程序的主分支程序;
检测单元,用于对所述程序的主分支程序上是否有新代码加入进行检测。
其中,在如下任一条件下所述检测模块检测是否有新代码写入到程序的请求,包括:
到达预先设置的检测周期;
接收到代码更新请求。
其中,所述打包模块203包括:
加入单元,用于将所述新代码加入到程序中,得到更新后的程序;
编译单元,用于对更新的程序进行编译,得到软件开发包。
可选的,所述装置还包括:
通知模块,用于在将所述新代码进行打包处理,形成软件代码包之后,通知本次代码更新成功。
本发明提供的装置实施例,通过检测是否有新代码写入到程序的请求,如果有,则获取所述新代码,并将所述新代码进行打包处理,形成软件代码包,相比人工打包,自动集成方案时间更短,响应更快,有新代码合入马上就开始打包,整套的流程全都自动化,大大地提高效率,实现了自动持续集成方案,使自动化集成方案更规范标准。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
Claims (10)
1.一种软件开发系统中管理代码的方法,其特征在于,包括:
检测是否有新代码写入到程序的请求;
如果有,则获取所述新代码;
将所述新代码进行打包处理,形成软件代码包。
2.根据权利要求1所述的方法,其特征在于,所述检测是否有新代码写入到程序的请求,包括:
确定程序的主分支程序;
对所述程序的主分支程序上是否有新代码加入进行检测。
3.根据权利要求1或2所述的方法,其特征在于,在如下任一条件下检测是否有新代码写入到程序的请求,包括:
到达预先设置的检测周期;
接收到代码更新请求。
4.根据权利要求1所述的方法,其特征在于,将所述新代码进行打包处理,形成软件代码包,包括:
将所述新代码加入到程序中,得到更新后的程序;
对更新的程序进行编译,得到软件开发包。
5.根据权利要求1所述的方法,其特征在于,所述将所述新代码进行打包处理,形成软件代码包之后,所述方法还包括:
通知本次代码更新成功。
6.一种软件开发系统中管理代码的装置,其特征在于,包括:
检测模块,用于检测是否有新代码写入到程序的请求;
获取模块,用于如果有,则获取所述新代码;
打包模块,用于将所述新代码进行打包处理,形成软件代码包。
7.根据权利要求6所述的装置,其特征在于,所述检测模块包括:
确定单元,用于确定程序的主分支程序;
检测单元,用于对所述程序的主分支程序上是否有新代码加入进行检测。
8.根据权利要求6或7所述的装置,其特征在于,在如下任一条件下所述检测模块检测是否有新代码写入到程序的请求,包括:
到达预先设置的检测周期;
接收到代码更新请求。
9.根据权利要求6所述的装置,其特征在于,所述打包模块包括:
加入单元,用于将所述新代码加入到程序中,得到更新后的程序;
编译单元,用于对更新的程序进行编译,得到软件开发包。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
通知模块,用于在将所述新代码进行打包处理,形成软件代码包之后,通知本次代码更新成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710865529.3A CN107589966A (zh) | 2017-09-22 | 2017-09-22 | 软件开发系统中管理代码的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710865529.3A CN107589966A (zh) | 2017-09-22 | 2017-09-22 | 软件开发系统中管理代码的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107589966A true CN107589966A (zh) | 2018-01-16 |
Family
ID=61048531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710865529.3A Pending CN107589966A (zh) | 2017-09-22 | 2017-09-22 | 软件开发系统中管理代码的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107589966A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958790A (zh) * | 2018-06-28 | 2018-12-07 | 北京金山安全软件有限公司 | 一种软件代码多线程打包方法及装置 |
CN109254765A (zh) * | 2018-08-22 | 2019-01-22 | 平安科技(深圳)有限公司 | 定时任务管理方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486736A (zh) * | 2010-12-06 | 2012-06-06 | 深圳市金蝶中间件有限公司 | 程序自动更新方法及更新程序生成装置 |
CN105302716A (zh) * | 2014-07-30 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 合流开发模式下的测试方法、装置 |
CN106528071A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 目标代码的选取方法及装置 |
-
2017
- 2017-09-22 CN CN201710865529.3A patent/CN107589966A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486736A (zh) * | 2010-12-06 | 2012-06-06 | 深圳市金蝶中间件有限公司 | 程序自动更新方法及更新程序生成装置 |
CN105302716A (zh) * | 2014-07-30 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 合流开发模式下的测试方法、装置 |
CN106528071A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 目标代码的选取方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958790A (zh) * | 2018-06-28 | 2018-12-07 | 北京金山安全软件有限公司 | 一种软件代码多线程打包方法及装置 |
CN109254765A (zh) * | 2018-08-22 | 2019-01-22 | 平安科技(深圳)有限公司 | 定时任务管理方法、装置、计算机设备及存储介质 |
CN109254765B (zh) * | 2018-08-22 | 2023-08-25 | 平安科技(深圳)有限公司 | 定时任务管理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908541B (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN102693183B (zh) | 一种实现软件自动化测试的方法及系统 | |
US10248541B2 (en) | Extraction of problem diagnostic knowledge from test cases | |
US9916230B1 (en) | White box testing | |
CN109871326A (zh) | 一种脚本录制的方法和装置 | |
Perera et al. | Semantic-driven configuration of internet of things middleware | |
CN105103133A (zh) | 消息传递计算的动态可视化 | |
CN112256321A (zh) | 静态库打包方法、装置、计算机设备和存储介质 | |
CN108509185A (zh) | 用于任意软件逻辑建模的系统和方法 | |
CN106021101B (zh) | 对移动终端进行测试的方法及装置 | |
Gaston et al. | Continuous integration for concurrent computational framework and application development | |
Lin et al. | A large-scale data set and an empirical study of docker images hosted on docker hub | |
EP2889767A1 (en) | Server provisioning based on job history analysis | |
JP2017533491A (ja) | 情報処理方法、装置及びコンピュータ記憶媒体 | |
Cuadrado et al. | A case study on software evolution towards service-oriented architecture | |
Williams et al. | Searching for model migration strategies | |
CN113590454A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN105229617A (zh) | 用于导航应用代码的图表 | |
CN107589966A (zh) | 软件开发系统中管理代码的方法和装置 | |
CN116090376B (zh) | 芯片集成验证组件开发方法、装置及计算机设备 | |
CA2738422C (en) | Examining concurrent system states | |
CN109522217A (zh) | 应用程序的内存测试方法及终端设备 | |
CN108196853A (zh) | 用于部署安卓系统sdk的方法、存储介质、设备及系统 | |
Langner et al. | Framework for using real driving data in automotive feature development and validation | |
Kakarontzas et al. | Extracting components from open source: The component adaptation environment (COPE) approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180116 |
|
RJ01 | Rejection of invention patent application after publication |