CN109634612A - 持续集成方法、系统、计算机设备和存储介质 - Google Patents
持续集成方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109634612A CN109634612A CN201811474798.8A CN201811474798A CN109634612A CN 109634612 A CN109634612 A CN 109634612A CN 201811474798 A CN201811474798 A CN 201811474798A CN 109634612 A CN109634612 A CN 109634612A
- Authority
- CN
- China
- Prior art keywords
- server
- source code
- item types
- project
- management system
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 13
- 230000010354 integration Effects 0.000 claims description 8
- 230000000875 corresponding effect Effects 0.000 description 11
- 238000012360 testing method Methods 0.000 description 4
- 238000012856 packing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种持续集成方法、装置、计算机设备和存储介质。所述方法包括:创建项目,并设置项目类型;获取仓库管理系统中与项目类型相关的构件;根据项目类型设置源码管理系统、仓库管理系统以及文件存储系统的构建参数;获取源码管理系统中的持续更新源码;根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统。根据项目类型选择所需要的仓库管理系统的构件,能够自动的将项目与构件进行匹配,提高了持续集成的灵活性,进一步能够更加便捷的进行持续集成。
Description
技术领域
本申请涉及软件构建技术领域,特别是涉及一种持续集成方法、系统、计算机设备和存储介质。
背景技术
持续集成(CI)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。还能够防止分支大幅度的偏离主干,如果不经常集成,主干又在不断的更新,会导致最终集成时集成难度大幅度增大。随着公司项目的增多,项目编译打包的重要性也越来越强。之前小规模的时候可以通过本地单机打包,但是随着开发团队扩大、开发人员增加、项目增加,一般会搭建编译打包的系统出来。因此,对于大规模项目持续集成是很有必要的。
目前的传统技术,通常利用Jenkins的集成平台,配置好SVN和Gradle插件,实现编译打包,但是无法做到自由选择Nexus的构件,当同一个项目多个迭代一起开发的时候,需要频繁的修改代码来实现动态的配置Nexus的构件,灵活性差。
发明内容
基于此,有必要针对上述技术问题,提供一种具有高灵活性的动态配置项目的持续集成方法、系统、计算机设备和存储介质。
一种持续集成方法,所述方法包括:创建项目,并设置项目类型;获取仓库管理系统中与项目类型相关的构件;根据项目类型设置源码管理系统、仓库管理系统以及文件存储系统的构建参数;获取源码管理系统中的持续更新源码;根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统。
在其中一个实施例中,所述创建项目,并设置项目类型之前包括:预设源码管理系统、项目构建系统、仓库管理系统以及文件存储系统的基础配置。
在其中一个实施例中,所述获取仓库管理系统中与项目类型相关的构件包括:获取仓库管理系统中的构件列表;根据构件列表以及项目类型选取与项目类型相关的构件。
在其中一个实施例中,所述获取仓库管理系统中的构件列表包括:获取仓库管理系统的地址;获取获取仓库管理系统的节点数据;根据所述节点数据进行解析,得到第一数据、第二数据以及第三数据。
在其中一个实施例中,所述根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建之后包括:获取构建过程日志,并进行显示。
一种持续集成系统,所述系统包括:持续集成引擎服务器、源码管理服务器、项目构建服务器、仓库管理服务器以及文件存储服务器;所述源码管理服务器、项目构建服务器、仓库管理服务器以及文件存储服务器分别与所述持续集成引擎服务器连接;所述持续集成引擎服务器,用于创建项目,设置项目类型;并获取仓库管理服务器中与项目类型相关的构件;还用于根据项目类型设置源码管理服务器、仓库管理服务器以及文件存储服务器的构建参数;获取源码管理系统中的持续更新源码,根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统;所述源码管理服务器,用于存储用户输入的持续更新的源码;所述项目构建服务器,用于对持续更新的源码进行构件;所述仓库管理服务器,用于下载并存储构件;所述文件存储服务器,用于存储构建产物。
在其中一个实施例中,所述持续集成引擎服务器为Jenkins服务器;所述源码管理服务器为SVN服务器;所述项目构建服务器为Gradle服务器;所述仓库管理服务器为Nexus服务器;所述文件存储服务器为FTP服务器。
在其中一个实施例中,所述持续集成引擎服务器,还用于获取仓库管理系统中的构件列表;并根据构件列表以及项目类型选取相应的构件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一种所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述的方法的步骤。
上述持续集成方法、系统、计算机设备和存储介质,在持续集成引擎中创建项目,并设置项目类型,获取仓库管理系统中与项目类型相关的构件,再根据项目类型设置预设源码管理系统、仓库管理系统以及文件存储系统的构建参数。设置完成参数后获取源码管理系统中的持续更新源码,根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统。根据项目类型选择所需要的仓库管理系统的构件,能够自动的将项目与构件进行匹配,提高了持续集成的灵活性,进一步能够更加便捷的进行持续集成。
附图说明
图1为一个实施例中持续集成方法的流程示意图;
图2为一个实施例中持续集成系统的结构示意图。
附图标记:持续集成引擎服务器100、源码管理服务器200、项目构建服务器300、仓库管理服务器400、文件存储服务器500、客户端600、数据库700。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
Jenkins是一个可扩展的持续集成引擎。能够持续、自动的构件软件项目,并监控一些定时执行的任务。Jenkins易于安装只需要部署在服务器中即可,并且易于配置,通过其提供的web界面进行软件构建的配置,在构建完成后能够对测试人员进行通知并发送测试报告。目前持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它是一种实践,旨在缓和和稳固软件的构建过程。当Jenkins配置完成后,Jenkins会根据预先制定的时间表,或针对某一特定时间,对目标项目的软件进行构建。Jenkins能够持续的获取新增或修改签入的源代码。也就是说,当软件团队需要周期性的检查新增或修改后的代码时,Jenkins会不断的确认新代码是否会破坏原有软件的成功构建。构建后执行预先制定的测试规则,并发送通知给相应测试人员。部署一个Jenkins的最低要求是,一个可获取的源代码仓库,一个包含构建脚本的项目。
Jenkins在使用时,开发者提交代码到源代码仓库,Jenkins或为每一个软件项目创建一个单独的工作区域,当触发或请求构建一次新的构建时,Jenkins会将源代码仓库中的源码放置相应的工作区。Jenkins对工作区内的源码进构建,构建完成后Jenkins向相应测试人员发送邮件通知,如果构建成功,则将构建产物打包并转移到应用服务器。
Nexus是一个强大的Maven仓库管理器。在实际的开发中,通常多个人同时对多个模块同时进行开发,构建Maven项目,总会有一个模块需要另一个模块的依赖,或者有相同的jar包,我们可以利用SVN这样的工具进行同步,但不断的进行同步会增加开发的复杂度。并在如果要新增加一个开发者,当他将项目构建时,或许会根据pom文件从中央仓库中下载大量jar包,会造成网络问题,同时一种访问同一地址,会被认为是攻击。因此需要搭建Nexus仓库管理器,通过Nexus从Maven中央仓库中下载构件,相关人员使用时需要使用相关构件时,只需从Nexus仓库管理器中获取即可。
SVN用于多个人共同开发同一个项目,共用资源的目的。也就是根据项目存储相关人员输入的源代码,并会主动向Jenkins提供更新的源代码,或Jenkins需要时提取SVN中更新的源代码。
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。构建app的,构建包括编译、测试、打包等过程。
FTP是一种使用FTP协议进行传输并存储的系统。
在一个实施例中,如图1所示,提供了一种持续集成方法,包括以下步骤:
步骤S102,创建项目,并设置项目类型。
具体地,首先将Jenkins部署在服务器中,通过客户端登录Jenkins,并在Jenkins中预设源码管理系统、项目构建系统、仓库管理系统以及文件存储系统的基础配置。更具体地,基础配置可以包括Gradle系统的名称和路径,路径可以为设置多个。基础配置还可以包括SVN系统的用户名和密码、FTP系统的地址账号和密码以及工作空间存储位置。其中,源码管理系统为SVN系统;项目构建系统为Gradle系统;仓库管理系统为Nexus系统;文件存储系统为FTP系统。所述源码管理系统、项目构建系统、仓库管理系统以及文件存储系统可以分别部署在不同的服务器中,也可以部署在同一个服务器中。当基础配置完成后,输入工作空间路径并保存。在通过Jenkins操作界面创建需要打包的项目,并输入名称,设置项目类型。
步骤S104,获取仓库管理系统中与项目类型相关的构件。
具体地,获取仓库管理系统中的构件列表;根据构件列表以及项目类型选取与项目类型相关的构件。其中,获取仓库管理系统中的构件列表,更具体的为:获取仓库管理系统的地址;获取仓库管理系统的节点数据;根据所述节点数据进行解析,得到第一数据、第二数据以及第三数据。其中,第一数据为:data节点数据;第二数据为children节点数据;第三数据为:indexBrowserTreeNode节点数据。更具体的,data节点数据为当前仓库管理系统的所有数据;children节点为data节点下的子节点,children节点数据为所有构件的数据;indexBrowserTreeNode节点为children节点下的子节点,indexBrowserTreeNode节点数据为一个构件的完整数据。一个构件的完整数据包括:nodeName、path、groupID、artifactID、version等信息。其中,nodeName为节点名称、path为节点路径、groupID为项目组织唯一的标识符,实际对应JAVA的包的结构、artifactID为是项目的唯一的标识符,实际对应项目的名称、version为版本号。也就是说,Jenkins会调用Nexus系统组件列表的接口,再通过该接口从Nexus系统中拉取组件列表,最后根据之前设置的项目类型,提取该项目类型所需的组件。其中,Jenkins拉取组件列表,首先会同步调用基础配置中的Nexus服务仓库地址,设置当前时间戳请求参数,并向Nexus发起网络请求,当Nexus返回网络请求成功时,然后Nexus向Jenkins返回不规则的Json字符串,对不规则的Json字符串进行解析,得到项目和相应项目所需构件的列表。
步骤S106,根据项目类型,设置预设源码管理系统、仓库管理系统以及文件存储系统的构建参数。
具体地,Jenkins根据项目的类型自动设置本项目SVN的远程地址和本地路径,以及相应的构件版本。并且会自动设置本项目Gradle的版本,根据项目的类型自动生成动态参数打包平台类型、版本号、版本code、是否多渠道、是否生产包、混淆压缩等,并自动填写打包脚本路径,并选择是否需要FTP推送。将构件参数进行保存。
步骤S108,获取源码管理系统中的持续更新源码。
具体地,在完成该项目的过程中,多名人员同时对该项目进行开发,每个人员每天都会将当天编写的源代码传输至SVN中相应的项目中,并进行保存。当需要进行持续构件,SVN中某一项目的源码更新,SVN会将更新后的源码主动推送至Jenkins,或者Jenkins会从SVN中主动获取更新后的源码。
步骤S110,根据持续更新的源码利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统。
具体地,Jenkins对获取到的更新后的源代码利用项目构建系统进行构建,也就是利用Gradle进行编译、测试最终打包脚本。并且Jenkins会实时的更新显示当前的打包进度,并且会记录构建产物的构建过程日志,并进行显示。通过显示构建过程日志,打包成功或打包失败能够清晰的进行显示。当打包成功,则将打包成功的构建产物发送至文件存储系统,并提供下载。其中构建产物可以是APK等文件。
在其中一个实施例中,在Jenkins的产品侧,可以展示所有需要构建的项目,并且能够新建项目,设置新建项目的名称以及项目类型。还可以用于设置打包的组件、SVN路径以及打包脚本、查看构建过程日志,以及下载构建产物。在其中一个实施例中,在Jenkins的技术侧,Jenkins主要包括以下模块:工作空间模块,用于创建项目的空间目录,处理拉去打包脚本、编译文件、打包产物等。全局基础配置模块,用于配制Grade、Maven、SVN、FTP等服务器环境。平台建容模块,用于兼容Linux、Windows,底层屏蔽差异。构建类型模块,用于支持的项目类型,目前是支持Android Project。软件版本控制管理模块,用于拉取SVN代码。依赖构件仓库管理配置模块,用于配置Nexus仓库。依赖项目构件模块,用于选取当前项目所依赖的组件。项目构建工作流模块,用于拉取SVN代码、传入参数、运行脚本、上传FTP等。FTP服务模块,用于推送文件到FTP服务器。构建日志模块,用于项目构建过程中编译日志的管理。
上述实施例可以通过Jenkins创建一个项目的打包工程,然后根据项目环境的实际情况进行Gradle、SVN、Nexus等的配置,并且自动化的设置不同的组件、版本、应用版本号及渠道等。根据构建过程日志,能够可视化的看到当前应用编译执行端的全过程,还可以从打包历史中查看,本实施例中的Jenkins可以一键执行打包编译构建,打包成功后的产物可以实时推送至FTP服务器。
上述持续集成方法,在持续集成引擎中创建项目,并设置项目类型,获取仓库管理系统中与项目类型相关的构件,再根据项目类型设置预设源码管理系统、仓库管理系统以及文件存储系统的构建参数。设置完成参数后获取源码管理系统中的持续更新源码,根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统。根据项目类型选择所需要的仓库管理系统的构件,能够自动的将项目与构件进行匹配,提高了持续集成的灵活性,进一步能够更加便捷的进行持续集成。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种持续集成系统,所述系统包括:持续集成引擎服务器100、源码管理服务器200、项目构建服务器300、仓库管理服务器400以及文件存储服务器500;所述源码管理服务器、项目构建服务器、仓库管理服务器以及文件存储服务器分别与所述持续集成引擎服务器连接。
所述持续集成引擎服务器100,用于创建项目,设置项目类型;并获取仓库管理服务器中与项目类型相关的构件;还用于根据项目类型设置源码管理服务器、仓库管理服务器以及文件存储服务器的构建参数;获取源码管理系统中的持续更新源码,根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统;
所述源码管理服务器200,用于存储用户输入的持续更新的源码;
所述项目构建服务器300,用于对持续更新的源码进行构件;
所述仓库管理服务器400,用于下载并存储构件;
所述文件存储服务器400,用于存储构建产物。
在其中一个实施例中,所述持续集成引擎服务器100为Jenkins服务器;所述源码管理服务器200为SVN服务器;所述项目构建服务器300为Gradle服务器;所述仓库管理服务器400为Nexus服务器;所述文件存储服务器500为FTP服务器。
在其中一个实施例中,所述持续集成引擎服务器100,还用于获取仓库管理系统中的构件列表;并根据构件列表以及项目类型选取相应的构件。
在其中一个实施例中,所述持续集成系统还包括至少一个客户端600,用于操作人员进行实施操控以及监视。
在其中一个实施例中,所述持续集成系统还包括数据库700,用于备份SVN服务器中的相关源码数据。
关于持续集成系统的具体限定可以参见上文中对于持续集成方法的限定,在此不再赘述。上述持续集成系统中的各个服务器可全部或部分通过软件、硬件及其组合来实现。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
创建项目,并设置项目类型;获取仓库管理系统中与项目类型相关的构件;根据项目类型设置源码管理系统、仓库管理系统以及文件存储系统的构建参数;获取源码管理系统中的持续更新源码;根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
预设源码管理系统、项目构建系统、仓库管理系统以及文件存储系统的基础配置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取仓库管理系统中的构件列表;根据构件列表以及项目类型选取相应的构件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取仓库管理系统的地址;获取获取仓库管理系统的节点数据;根据所述节点数据进行解析,得到第一数据、第二数据以及第三数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取构建过程日志,并进行显示。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
创建项目,并设置项目类型;获取仓库管理系统中与项目类型相关的构件;根据项目类型设置源码管理系统、仓库管理系统以及文件存储系统的构建参数;获取源码管理系统中的持续更新源码;根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
预设源码管理系统、项目构建系统、仓库管理系统以及文件存储系统的基础配置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取仓库管理系统中的构件列表;根据构件列表以及项目类型选取相应的构件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取仓库管理系统的地址;获取获取仓库管理系统的节点数据;根据所述节点数据进行解析,得到第一数据、第二数据以及第三数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取构建过程日志,并进行显示。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种持续集成方法,其特征在于,所述方法包括:
创建项目,并设置项目类型;
获取仓库管理系统中与所述项目类型相关的构件;
根据所述项目类型设置源码管理系统、仓库管理系统以及文件存储系统的构建参数;
获取源码管理系统中的持续更新源码;
根据持续更新的所述源码以及与所述项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统。
2.根据权利要求1所述的方法,其特征在于,所述创建项目,并设置项目类型之前包括:
预设源码管理系统、项目构建系统、仓库管理系统以及文件存储系统的基础配置。
3.根据权利要求2所述的方法,其特征在于,所述获取仓库管理系统中与所述项目类型相关的构件包括:
获取仓库管理系统中的构件列表;
根据所述构件列表以及所述项目类型选取与所述项目类型相关的构件。
4.根据权利要求3所述的方法,其特征在于,所述获取仓库管理系统中的构件列表包括:
获取仓库管理系统的地址;
获取获取仓库管理系统的节点数据;
根据所述节点数据进行解析,得到第一数据、第二数据以及第三数据。
5.根据权利要求4所述的方法,其特征在于,所述根据持续更新的所述源码以及与所述项目类型相关的构件利用项目构建系统进行构建之后包括:
获取构建过程日志,并进行显示。
6.一种持续集成系统,其特征在于,所述系统包括:持续集成引擎服务器、源码管理服务器、项目构建服务器、仓库管理服务器以及文件存储服务器;所述源码管理服务器、项目构建服务器、仓库管理服务器以及文件存储服务器分别与所述持续集成引擎服务器连接;
所述持续集成引擎服务器,用于创建项目,设置项目类型;并获取仓库管理服务器中与项目类型相关的构件;还用于根据项目类型设置源码管理服务器、仓库管理服务器以及文件存储服务器的构建参数;获取源码管理系统中的持续更新源码,根据持续更新的源码以及与项目类型相关的构件利用项目构建系统进行构建,并将生成的构建产物发送至文件存储系统;
所述源码管理服务器,用于存储用户输入的持续更新的源码;
所述项目构建服务器,用于对持续更新的源码进行构件;
所述仓库管理服务器,用于下载并存储构件;
所述文件存储服务器,用于存储构建产物。
7.根据权利要求6所述的系统,其特征在于,
所述持续集成引擎服务器为Jenkins服务器;
所述源码管理服务器为SVN服务器;
所述项目构建服务器为Gradle服务器;
所述仓库管理服务器为Nexus服务器;
所述文件存储服务器为FTP服务器。
8.根据权利要求7所述的系统,其特征在于,
所述持续集成引擎服务器,还用于获取仓库管理系统中的构件列表;并根据构件列表以及项目类型选取相应的构件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811474798.8A CN109634612A (zh) | 2018-12-04 | 2018-12-04 | 持续集成方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811474798.8A CN109634612A (zh) | 2018-12-04 | 2018-12-04 | 持续集成方法、系统、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109634612A true CN109634612A (zh) | 2019-04-16 |
Family
ID=66071068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811474798.8A Pending CN109634612A (zh) | 2018-12-04 | 2018-12-04 | 持续集成方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634612A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377334A (zh) * | 2019-07-25 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 持续集成方法及设备 |
CN110597518A (zh) * | 2019-09-17 | 2019-12-20 | 上海钧正网络科技有限公司 | 项目构建方法、装置、计算机设备和存储介质 |
CN110597552A (zh) * | 2019-09-04 | 2019-12-20 | 浙江大搜车软件技术有限公司 | 项目持续集成流水线的配置方法、装置、设备及存储介质 |
CN111144839A (zh) * | 2019-12-17 | 2020-05-12 | 深圳市优必选科技股份有限公司 | 一种项目构建方法、持续集成系统及终端设备 |
CN111158744A (zh) * | 2019-12-30 | 2020-05-15 | 中国银行股份有限公司 | 跨平台异构数据的整合方法及装置 |
CN111309713A (zh) * | 2020-05-14 | 2020-06-19 | 深圳开源互联网安全技术有限公司 | Maven开源软件库的生成方法、装置及存储介质 |
CN111459538A (zh) * | 2020-04-07 | 2020-07-28 | 中国建设银行股份有限公司 | 代码同步方法及装置 |
CN111736855A (zh) * | 2020-05-18 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种基于应用web端自动打包部署的实现方法及系统 |
CN111782263A (zh) * | 2020-07-22 | 2020-10-16 | 网易(杭州)网络有限公司 | 游戏打包的处理方法及装置 |
CN112286580A (zh) * | 2020-10-31 | 2021-01-29 | 成都新潮传媒集团有限公司 | 一种用于处理流水线作业的方法、装置及计算机设备 |
CN117707547A (zh) * | 2024-02-05 | 2024-03-15 | 云筑信息科技(成都)有限公司 | 一种解析java项目间引用关系的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130212562A1 (en) * | 2012-02-09 | 2013-08-15 | Sonatype, Inc. | System and method of providing real-time updates related to in-use artifacts in a software development environment |
-
2018
- 2018-12-04 CN CN201811474798.8A patent/CN109634612A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130212562A1 (en) * | 2012-02-09 | 2013-08-15 | Sonatype, Inc. | System and method of providing real-time updates related to in-use artifacts in a software development environment |
Non-Patent Citations (1)
Title |
---|
周莹等: "基于Jenkins的持续集成自动部署研究", 《计算机与数字工程》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377334A (zh) * | 2019-07-25 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 持续集成方法及设备 |
CN110597552A (zh) * | 2019-09-04 | 2019-12-20 | 浙江大搜车软件技术有限公司 | 项目持续集成流水线的配置方法、装置、设备及存储介质 |
CN110597552B (zh) * | 2019-09-04 | 2023-08-18 | 浙江大搜车软件技术有限公司 | 项目持续集成流水线的配置方法、装置、设备及存储介质 |
CN110597518B (zh) * | 2019-09-17 | 2023-08-18 | 上海钧正网络科技有限公司 | 项目构建方法、装置、计算机设备和存储介质 |
CN110597518A (zh) * | 2019-09-17 | 2019-12-20 | 上海钧正网络科技有限公司 | 项目构建方法、装置、计算机设备和存储介质 |
CN111144839A (zh) * | 2019-12-17 | 2020-05-12 | 深圳市优必选科技股份有限公司 | 一种项目构建方法、持续集成系统及终端设备 |
CN111144839B (zh) * | 2019-12-17 | 2024-02-02 | 深圳市优必选科技股份有限公司 | 一种项目构建方法、持续集成系统及终端设备 |
CN111158744A (zh) * | 2019-12-30 | 2020-05-15 | 中国银行股份有限公司 | 跨平台异构数据的整合方法及装置 |
CN111158744B (zh) * | 2019-12-30 | 2024-02-23 | 中国银行股份有限公司 | 跨平台异构数据的整合方法及装置 |
CN111459538A (zh) * | 2020-04-07 | 2020-07-28 | 中国建设银行股份有限公司 | 代码同步方法及装置 |
CN111459538B (zh) * | 2020-04-07 | 2024-02-13 | 中国建设银行股份有限公司 | 代码同步方法及装置 |
CN111309713B (zh) * | 2020-05-14 | 2020-08-18 | 深圳开源互联网安全技术有限公司 | Maven开源软件库的生成方法、装置及存储介质 |
CN111309713A (zh) * | 2020-05-14 | 2020-06-19 | 深圳开源互联网安全技术有限公司 | Maven开源软件库的生成方法、装置及存储介质 |
CN111736855A (zh) * | 2020-05-18 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种基于应用web端自动打包部署的实现方法及系统 |
CN111782263A (zh) * | 2020-07-22 | 2020-10-16 | 网易(杭州)网络有限公司 | 游戏打包的处理方法及装置 |
CN111782263B (zh) * | 2020-07-22 | 2024-01-23 | 网易(杭州)网络有限公司 | 游戏打包的处理方法及装置 |
CN112286580A (zh) * | 2020-10-31 | 2021-01-29 | 成都新潮传媒集团有限公司 | 一种用于处理流水线作业的方法、装置及计算机设备 |
CN117707547A (zh) * | 2024-02-05 | 2024-03-15 | 云筑信息科技(成都)有限公司 | 一种解析java项目间引用关系的方法 |
CN117707547B (zh) * | 2024-02-05 | 2024-05-28 | 云筑信息科技(成都)有限公司 | 一种解析java项目间引用关系的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634612A (zh) | 持续集成方法、系统、计算机设备和存储介质 | |
CN106104467B (zh) | 一种自动化部署方法和终端 | |
US20160179495A1 (en) | Device and method for packaging application | |
CN111324522A (zh) | 一种自动化测试系统及方法 | |
CN104899047B (zh) | 网页框架部署方法和系统 | |
CN110851135A (zh) | 应用程序自动构建上传方法、装置及计算机设备、存储介质 | |
CN110727446A (zh) | 自动部署方法、装置、设备及介质 | |
CN112882700A (zh) | iOS应用程序构建方法及装置、电子设备及存储介质 | |
CN109800016A (zh) | 工程自动部署方法、装置、计算机设备和存储介质 | |
CN103186376B (zh) | 一种用于建立或更新软件开发环境的方法、装置和设备 | |
CN111506322A (zh) | 一种自动化集成构建开发部署平台及方法 | |
CN108415821A (zh) | 测试报告的生成方法及装置 | |
CN110795139A (zh) | 客户端批量打包方法、装置、计算机设备和存储介质 | |
CN112084008A (zh) | 一种基于容器技术快速部署云管系统的方法 | |
CN112631614A (zh) | 应用部署方法、装置、计算机设备和存储介质 | |
CN110138876A (zh) | 任务部署方法、装置、设备及平台 | |
CN110515625A (zh) | 任务构建方法、装置、设备及计算机可读存储介质 | |
CN111651352B (zh) | 一种仓库代码的合并方法及装置 | |
CN112579099A (zh) | 代码的部署方法、装置、存储介质及电子设备 | |
CN102622550A (zh) | 面向终端计算机的补丁安全在线检查系统 | |
CN110795105A (zh) | 一种配电自动化主站系统自动编译部署方法与系统 | |
CN112130889A (zh) | 资源的管理方法和装置、存储介质、电子装置 | |
US11494183B1 (en) | Executor microservices for automated application compliance processing | |
CN112486511A (zh) | 一种通过web生成操作系统安装镜像的方法 | |
CN115543491A (zh) | 微服务处理方法和装置 |
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: 20190416 |
|
RJ01 | Rejection of invention patent application after publication |