CN110597552B - 项目持续集成流水线的配置方法、装置、设备及存储介质 - Google Patents
项目持续集成流水线的配置方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110597552B CN110597552B CN201910832670.2A CN201910832670A CN110597552B CN 110597552 B CN110597552 B CN 110597552B CN 201910832670 A CN201910832670 A CN 201910832670A CN 110597552 B CN110597552 B CN 110597552B
- Authority
- CN
- China
- Prior art keywords
- module
- execution module
- target execution
- project
- target
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种项目持续集成流水线的配置方法、装置、设备及存储介质。该方法包括:接收模块选择指令,模块选择指令携带目标执行模块的执行顺序;根据接收模块选择指令,从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块;根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。该方法中,将项目持续集成流水线中各个步骤的实现抽象为多个执行模块,每个功能对应的执行模块只需撰写一次存入执行模块库中,之后便可以从执行模块库中获取所需的目标执行模块并生成配置文件即可,其大大减少了配置信息的冗余性并提高了项目持续集成流水线的工作效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种项目持续集成流水线的配置方法、装置、设备及存储介质。
背景技术
在当前软件开发过程中,研发人员通常会持续集成已开发的软件功能,每次集成通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。传统技术在进行持续集成时,通常由研发人员撰写配置文件来描述整条集成流水线的执行步骤,那么若要对不同的项目进行集成,需要撰写不同的配置文件。
但是,不同项目集成时通常会存在一些相同的执行步骤,那么研发人员在撰写配置文件过程中会撰写很多重复的配置信息,导致配置信息冗余且持续集成流水线工作效率较低。
发明内容
基于此,有必要针对传统技术配置信息冗余且持续集成流水线工作效率较低的问题,提供一种项目持续集成流水线的配置方法、装置、设备及存储介质。
第一方面,本申请实施例提供一种项目持续集成流水线的配置方法,包括:
接收模块选择指令,模块选择指令携带目标执行模块的执行顺序;
根据模块选择指令,从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块;
根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。
本实施例中,将项目持续集成流水线中各个步骤的实现抽象为多个执行模块,每个功能对应的执行模块只需撰写一次存入执行模块库中,之后便可以根据模块选择指令从执行模块库中获取所需的目标执行模块,并生成配置文件即可,其大大减少了配置信息的冗余性并提高了项目持续集成流水线的工作效率。
在其中一个实施例中,若执行模块库中不存在执行项目持续集成流水线所需的目标执行模块,上述方法还包括:
创建目标执行模块,并将目标执行模块存入执行模块库中。
本实施例中,只需在执行模块库中不存在所需的目标执行模块时才进行创建,不需要每次执行项目持续集成流水线时都撰写配置文件,也进一步提高了项目持续集成流水线的工作效率。
在其中一个实施例中,配置文件包括目标执行模块的标识、目标执行模块的执行顺序及目标执行模块的版本号。
本实施例中,配置文件中还包括目标执行模块的执行顺序,那么便可以直接按照生成的该配置文件来执行项目持续集成流水线,进一步提高了项目持续集成流水线的工作效率。
在其中一个实施例中,上述方法还包括:
对目标执行模块进行更新,并记录目标执行模块的当前版本与更新版本之间的差异。
本实施例中,当对目标执行模块进行更新时,记录当前版本与更新版本之间的差异,这样当后续仍需要使用之前版本的执行模块时,可以根据该差异将更新版本回溯到之前的版本,供项目持续集成流水线进行调用,也进一步提高了项目持续集成流水线的工作效率。
在其中一个实施例中,上述从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块,包括:
从模块托管服务器中获取目标执行模块的脚本;执行模块库存储在模块托管服务器上;
上述方法还包括:
从项目托管服务器中获取项目持续集成流水线对应的项目脚本,并将目标执行模块的脚本以及项目脚本存储至预设的目录。
本实施例中,从模块托管服务器中获取目标执行模块的脚本,以及从项目托管服务器中获取项目脚本,并将目标执行模块的脚本和项目脚本存储至计算机设备预设的目录中,这样在执行项目持续集成流水线时,直接从预设的目录中获取对应的脚本进行执行即可,减少了计算机设备和服务器之间的通信功耗。
在其中一个实施例中,上述方法还包括:
将项目持续集成流水线的配置文件发送至持续集成服务器存储。
本实施例中,持续集成服务器可以存储项目持续集成流水线的配置文件,那么当需要查看之前的配置文件时,可以为获取配置文件提供便利。
在其中一个实施例中,上述从模块托管服务器中获取目标执行模块的脚本,包括:
将模块选择指令发送至模块托管服务器;
接收模块托管服务器根据模块选择指令发送的目标执行模块的脚本。
本实施例中,模块托管服务器根据接收到的模块选择指令发送目标执行模块的脚本,可以提高获取的目标执行模块脚本的准确性。
第二方面,本申请实施例提供一种项目持续集成流水线的配置装置,包括:
接收模块,用于接收模块选择指令,模块选择指令携带目标执行模块的执行顺序;
获取模块,用于根据模块选择指令,从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块;
配置生成模块,用于根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
接收模块选择指令,模块选择指令携带目标执行模块的执行顺序;
根据模块选择指令,从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块;
根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收模块选择指令,模块选择指令携带目标执行模块的执行顺序;
根据模块选择指令,从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块;
根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。
上述项目持续集成流水线的配置方法、装置、设备及存储介质,首先接收携带目标执行模块的执行顺序的模块选择指令,然后从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块;再根据目标执行模块的标识和执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。该方法中,将项目持续集成流水线中各个步骤的实现抽象为多个执行模块,每个功能对应的执行模块只需撰写一次存入执行模块库中,之后便可以从执行模块库中获取所需的目标执行模块并生成配置文件即可,其大大减少了配置信息的冗余性并提高了项目持续集成流水线的工作效率。
附图说明
图1为一个实施例提供的计算机设备的内部结构示意图;
图2为一个实施例提供的项目持续集成流水线的配置方法的流程示意图;
图3为另一个实施例提供的项目持续集成流水线的配置方法的流程示意图;
图4为又一个实施例提供的项目持续集成流水线的配置方法的流程示意图;
图5为一个实施例提供的项目持续集成流水线的配置装置的结构示意图;
图6为另一个实施例提供的项目持续集成流水线的配置装置的结构示意图;
图7为又一个实施例提供的项目持续集成流水线的配置装置的结构示意图。
具体实施方式
本申请实施例提供的项目持续集成流水线的配置方法,可以适用于如图1所示的计算机设备。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。可选的,该计算机设备还可以包括显示屏和输入装置。可选的,该计算机设备可以是服务器、个人计算机(personal computer,简称PC)、个人数字助理,还可以是其他的终端设备,例如平板电脑(portable android device,简称PAD)、手机等,本实施例对计算机设备的具体形式并不做限定。
传统技术在进行持续集成时,通常由研发人员撰写配置文件,那么对于不同的项目就要分别撰写对应的配置文件,但是因不同项目集成时通常会存在一些相同的步骤,因此研发人员在撰写配置文件过程中会撰写很多重复的配置信息,导致配置信息冗余且持续集成流水线工作效率较低。本申请提供的项目持续集成流水线的配置方法、装置、设备及存储介质,旨在解决上述技术问题。
为了使本申请的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本申请实施例中的技术方案进行进一步的详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,下述方法实施例的执行主体可以是项目持续集成流水线的配置装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部。下述方法实施例以执行主体为计算机设备为例进行说明。
图2为一个实施例提供的项目持续集成流水线的配置方法的流程示意图。本实施例涉及的是计算机设备获取目标执行模块,并生成项目持续集成流水线的配置文件的具体过程。如图2所示,该方法包括:
S101,接收模块选择指令,模块选择指令携带目标执行模块的执行顺序。
具体的,计算机设备可以接收用户根据项目需求输入的模块选择指令,该模块选择指令中携带项目需求的目标执行模块的执行顺序。可选的,该模块选择指令还可以携带目标执行模块的标识,以供计算机设备后续获取目标执行模块。
可选的,用户可以在计算机设备中的持续集成平台上输入模块选择指令,该持续集成平台可以以界面形式展示给用户,用户可以在该界面上选择所需的执行模块,该持续集成平台可以为Jenkins平台、Travis CI平台,也可以为其他持续集成平台,本实施例对此不做限定。示例性的,持续集成平台将各执行模块的标识展示给用户,用户根据项目持续集成流水线的需求选择对应的目标执行模块。
可选的,当项目需求发生变化时,用户可以重新输入模块选择指令,重新输入的模块选择指令携带新的目标执行模块的执行顺序。
S102,根据模块选择指令,从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块。
具体的,项目持续集成流水线在执行的过程中会执行多个步骤,例如编译、发布、测试等,本实施例将各个步骤的实现抽象为多个执行模块,即一个执行模块实现的功能为编译、另一个执行模块实现的功能为发布、再一个执行模块实现的功能为测试等等,这些执行模块可以存储在预设的执行模块库中,可选的,执行模块库可以存储在计算机设备中,也可以存储在服务器中。当要执行项目持续集成流水线时,计算机设备可以从上述预设的执行模块库中获取其所需的目标执行模块。
其中,计算机设备可以根据上述用户输入的模块选择指令获取项目持续集成流水线所需的目标执行模块,由于模块选择指令携带目标执行模块的执行顺序,计算机设备也可以根据该执行顺序从执行模块库中依次获取项目持续集成流水线所需的目标执行模块。示例性的,假设用户依次选择了A、B、C三个执行模块对应的标识,那么计算机设备可以根据用户的模块选择指令从执行模块库中获取A、B、C三个执行模块。
S103,根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。
具体的,计算机设备获取了目标执行模块后,可以根据该目标执行模块的标识和执行顺序,生成项目持续集成流水线的配置文件。可选的,目标执行模块的执行顺序可以为用户在输入模块选择指令时的输入顺序,例如,用户在持续集成平台上选择的是B、A、C三个执行模块,那么可以确定这三个执行模块的执行顺序为B、A、C。
其中,上述配置文件中包括目标执行模块的标识和执行顺序,然后计算机设备可以根据该配置文件中的执行顺序依次执行各目标执行模块,从而完成项目持续集成流水线。可选的,该配置文件中还可以包括目标执行模块的标识、目标执行模块的执行顺序以及目标执行模块的版本号,然后计算机设备根据目标执行模块的标识和版本号获取目标执行模块对应的脚本并执行。可选的,计算机设备还可以将目标执行模块对应的脚本写入配置文件中,然后执行该配置文件。
本实施例提供的项目持续集成流水线的配置方法,计算机设备首先接收携带目标执行模块的执行顺序的模块选择指令,然后从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块,再根据目标执行模块的标识和执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。该方法中,将项目持续集成流水线中各个步骤的实现抽象为多个执行模块,每个功能对应的执行模块只需撰写一次存入执行模块库中,之后便可以从执行模块库中获取所需的目标执行模块并生成配置文件即可,其大大减少了配置信息的冗余性并提高了持续集成流水线的工作效率;进一步的,该方法可由用户在持续集成平台上选择所需的目标执行模块,即使是非技术人员也可以根据需求进行选择,降低了项目持续集成流水线的配置难度。
可选的,在其中一些实施例中,若执行模块库中不存在执行项目持续集成流水线所需的目标执行模块,上述方法还包括:创建目标执行模块,并将目标执行模块存入执行模块库中。
具体的,假设执行项目持续集成流水线所需的目标执行模块为B、C、D,但是执行模块库中只存在B、C执行模块,那么计算机设备就要创建D执行模块,并将该执行模块存入执行模块库中,以供本次及后续使用。可选的,计算机设备可以根据用户的模块编辑指令创建目标执行模块,将用户编辑完成的目标执行模块存储至执行模块库中,由此只需在执行模块库中不存在所需的目标执行模块时才进行创建,不需要每次执行项目持续集成流水线时都撰写配置文件,也进一步提高了项目持续集成流水线的工作效率。
可选的,在其中一些实施例中,根据项目持续集成流水线的更新需求,目标执行模块同样需要进行更新,则上述方法还包括:对目标执行模块进行更新,并记录目标执行模块的当前版本与更新版本之间的差异。
具体的,计算机设备对目标执行模块进行更新时,可以记录当前版本与更新版本之间的差异,这样当后续仍需要使用之前版本的执行模块时,计算机设备可以根据上述差异将更新版本回溯到之前的版本,供项目持续集成流水线进行调用。由此可实现目标执行版本的自动回溯,不需要用户重新撰写,进一步提高了项目持续集成流水线的工作效率。可选的,对于各执行模块的版本管理可以使用GIT分布式版本控制系统,也可以使用其他版本控制工具。
可选的,在其中一些实施例中,上述S102可以包括:从模块托管服务器中获取目标执行模块的脚本,执行模块库存储在所述模块托管服务器上;相应的,上述方法还包括:从项目托管服务器中获取项目持续集成流水线对应的项目脚本,并将目标执行模块的脚本以及项目脚本存储至预设的目录。
具体的,上述执行模块库可以存储于模块托管服务器,当需要对一个项目执行持续集成时,计算机设备可以从模块托管服务器中获取目标执行模块的脚本,以及从项目托管服务器中获取该项目的脚本,并将目标执行模块的脚本和项目的脚本存储至计算机设备预设的目录中,这样在执行项目持续集成流水线时,直接从预设的目录中获取对应的脚本进行执行即可,减少了计算机设备和服务器之间的通信功耗。可选的,对于生成的项目持续集成流水线的配置文件,计算机设备还可以将其发送至持续集成服务器(CI Server)进行存储。可选的,模块托管服务器、项目托管服务器及持续集成服务器可以是同一个服务器,也可以是不同的服务器。
图3为另一个实施例提供的项目持续集成流水线的配置方法的流程示意图。本实施例涉及的是计算机设备从模块托管服务器中获取目标执行模块的脚本的具体过程。可选的,如图3所述,上述方法还可以包括:
S201,将模块选择指令发送至模块托管服务器。
S202,接收模块托管服务器根据模块选择指令发送的目标执行模块的脚本。
具体的,计算机设备可以接收用户输入的模块选择指令,并将该指令发送至模块托管服务器;模块托管服务器根据接收到的模块选择指令选择目标执行模块,并将目标执行模块的脚本发送给计算机设备;计算机设备接收到目标执行模块的脚本后可以将其存储至预设的目录下。可选的,当用户需要重新配置项目持续集成流水线时,可以重新输入模块选择指令,计算机设备根据新获取的模块选择指令可以重新生成新的配置文件,并将新的配置文件发送至持续集成服务器进行存储。
为更方便理解本申请实施例提供的方法,下面以一个具体实施例进行说明,如图4所示,上述方法包括:
S301,从模块托管服务器中获取执行项目持续集成流水线所需的目标执行模块;
S302,若模块托管服务器中不存在目标执行模块,创建目标执行模块,并将目标执行模块存入模块托管服务器中;
S303,根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件;
S304,将项目持续集成流水线的配置文件发送至持续集成服务器存储;
S305,根据配置文件执行项目持续集成流水线。
该图4所示的实施例的实现方式与上述所示的实施例过程实现方式类似,在此不再赘述。
应该理解的是,虽然图2-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图5为一个实施例提供的项目持续集成流水线的配置装置的结构示意图。如图5所示,该装置包括:接收模块11、获取模块12和配置生成模块13。
具体的,接收模块11,用于接收模块选择指令,模块选择指令携带目标执行模块的执行顺序。
获取模块12,用于根据所述模块选择指令,从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块。
配置生成模块13,用于根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。
本实施例提供的项目持续集成流水线的配置装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图6为另一个实施例提供的项目持续集成流水线的配置装置的结构示意图。在上述图5所示实施例的基础上,如图6所示,该装置还包括:创建模块14。
具体的,创建模块14,用于若执行模块库中不存在执行项目持续集成流水线所需的目标执行模块时,创建目标执行模块,并将目标执行模块存入执行模块库中。
本实施例提供的项目持续集成流水线的配置装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,配置文件包括目标执行模块的标识、目标执行模块的执行顺序及目标执行模块的版本号。
图7为又一个实施例提供的项目持续集成流水线的配置装置的结构示意图。在上述图5或图6所示实施例的基础上,如图7所示,该装置还包括:更新模块15。
具体的,更新模块15,用于对目标执行模块进行更新,并记录目标执行模块的当前版本与更新版本之间的差异。
本实施例提供的项目持续集成流水线的配置装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,上述获取模块12,具体用于从模块托管服务器中获取目标执行模块的脚本;执行模块库存储在模块托管服务器上;以及从项目托管服务器中获取项目持续集成流水线对应的项目脚本,并将目标执行模块的脚本以及项目脚本存储至预设的目录。
在其中一个实施例中,上述装置还包括发送模块,用于将项目持续集成流水线的配置文件发送至持续集成服务器存储。
在其中一个实施例中,上述获取模块12,具体用于将模块选择指令发送至模块托管服务器;以及接收模块托管服务器根据模块选择指令发送的目标执行模块的脚本。
关于项目持续集成流水线的配置装置的具体限定可以参见上文中对于项目持续集成流水线的配置方法的限定,在此不再赘述。上述项目持续集成流水线的配置装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种项目持续集成流水线的配置方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收模块选择指令,模块选择指令携带目标执行模块的执行顺序;
根据模块选择指令,从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块;
根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。
本实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,若执行模块库中不存在执行项目持续集成流水线所需的目标执行模块,处理器执行计算机程序时还实现以下步骤:
创建目标执行模块,并将目标执行模块存入执行模块库中。
在一个实施例中,配置文件包括目标执行模块的标识、目标执行模块的执行顺序及目标执行模块的版本号。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对目标执行模块进行更新,并记录目标执行模块的当前版本与更新版本之间的差异。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
从模块托管服务器中获取目标执行模块的脚本;执行模块库存储在模块托管服务器上;
以及
从项目托管服务器中获取项目持续集成流水线对应的项目脚本,并将目标执行模块的脚本以及项目脚本存储至预设的目录。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将项目持续集成流水线的配置文件发送至持续集成服务器存储。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将模块选择指令发送至模块托管服务器;
接收模块托管服务器根据模块选择指令发送的目标执行模块的脚本。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收模块选择指令,模块选择指令携带目标执行模块的执行顺序;
根据模块选择指令,从预设的执行模块库中获取执行项目持续集成流水线所需的目标执行模块;
根据目标执行模块的标识和目标执行模块的执行顺序,生成项目持续集成流水线的配置文件,并根据配置文件执行项目持续集成流水线。
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,若执行模块库中不存在执行项目持续集成流水线所需的目标执行模块,计算机程序被处理器执行时还实现以下步骤:
创建目标执行模块,并将目标执行模块存入执行模块库中。
在一个实施例中,配置文件包括目标执行模块的标识、目标执行模块的执行顺序及目标执行模块的版本号。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对目标执行模块进行更新,并记录目标执行模块的当前版本与更新版本之间的差异。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
从模块托管服务器中获取目标执行模块的脚本;执行模块库存储在模块托管服务器上;
以及
从项目托管服务器中获取项目持续集成流水线对应的项目脚本,并将目标执行模块的脚本以及项目脚本存储至预设的目录。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将项目持续集成流水线的配置文件发送至持续集成服务器存储。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将模块选择指令发送至模块托管服务器;
接收模块托管服务器根据模块选择指令发送的目标执行模块的脚本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (7)
1.一种项目持续集成流水线的配置方法,其特征在于,包括:
接收用户根据项目需求输入的模块选择指令,所述模块选择指令携带目标执行模块的执行顺序和所述目标执行模块的标识;
根据所述模块选择指令,从预设的执行模块库中获取执行所述项目持续集成流水线所需的目标执行模块;
根据所述目标执行模块的标识、所述目标执行模块的版本号和所述目标执行模块的执行顺序,生成所述项目持续集成流水线的配置文件,并根据所述配置文件执行所述项目持续集成流水线;所述配置文件包括所述目标执行模块的标识、所述目标执行模块的执行顺序以及所述目标执行模块的版本号;
对所述目标执行模块进行更新,并记录所述目标执行模块的当前版本与更新版本之间的差异;
根据所述差异将所述目标执行模块的更新版本回溯至目标执行模块的当前版本;
其中,所述根据所述模块选择指令,从预设的执行模块库中获取执行所述项目持续集成流水线所需的目标执行模块,包括:
从模块托管服务器中获取所述目标执行模块的脚本;所述执行模块库存储在所述模块托管服务器上;
从项目托管服务器中获取所述项目持续集成流水线对应的项目脚本,并将所述目标执行模块的脚本以及所述项目脚本存储至预设的目录。
2.根据权利要求1所述的方法,其特征在于,若所述执行模块库中不存在执行所述项目持续集成流水线所需的目标执行模块,所述方法还包括:
创建所述目标执行模块,并将所述目标执行模块存入所述执行模块库中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述项目持续集成流水线的配置文件发送至持续集成服务器存储。
4.根据权利要求1所述的方法,其特征在于,所述从模块托管服务器中获取所述目标执行模块的脚本,包括:
将所述模块选择指令发送至所述模块托管服务器;
接收所述模块托管服务器根据所述模块选择指令发送的所述目标执行模块的脚本。
5.一种项目持续集成流水线的配置装置,其特征在于,包括:
接收模块,用于接收用户根据项目需求输入的模块选择指令,所述模块选择指令携带目标执行模块的执行顺序和所述目标执行模块的标识;
获取模块,用于根据所述模块选择指令,从预设的执行模块库中获取执行所述项目持续集成流水线所需的目标执行模块;
配置生成模块,用于根据所述目标执行模块的标识、所述目标执行模块的版本号和所述目标执行模块的执行顺序,生成所述项目持续集成流水线的配置文件,并根据所述配置文件执行所述项目持续集成流水线;所述配置文件包括所述目标执行模块的标识、所述目标执行模块的执行顺序以及所述目标执行模块的版本号;
更新模块,用于对所述目标执行模块进行更新,并记录所述目标执行模块的当前版本与更新版本之间的差异;
回溯模块,用于根据所述差异将所述目标执行模块的更新版本回溯至所述目标执行模块的当前版本;
所述获取模块包括第一获取单元和第二获取单元:
所述第一获取单元,用于从模块托管服务器中获取所述目标执行模块的脚本;所述执行模块库存储在所述模块托管服务器上;
所述第二获取单元,用于从项目托管服务器中获取所述项目持续集成流水线对应的项目脚本,并将所述目标执行模块的脚本以及所述项目脚本存储至预设的目录。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-4中任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910832670.2A CN110597552B (zh) | 2019-09-04 | 2019-09-04 | 项目持续集成流水线的配置方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910832670.2A CN110597552B (zh) | 2019-09-04 | 2019-09-04 | 项目持续集成流水线的配置方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597552A CN110597552A (zh) | 2019-12-20 |
CN110597552B true CN110597552B (zh) | 2023-08-18 |
Family
ID=68857474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910832670.2A Active CN110597552B (zh) | 2019-09-04 | 2019-09-04 | 项目持续集成流水线的配置方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597552B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113126961B (zh) * | 2020-01-15 | 2023-04-07 | 中移(苏州)软件技术有限公司 | 流水线处理方法、装置和存储介质 |
CN113434264B (zh) * | 2021-07-14 | 2022-08-05 | 上海浦东发展银行股份有限公司 | 一种任务组件的智能处理方法、装置、设备和存储介质 |
CN114968223B (zh) * | 2021-12-14 | 2024-05-17 | 中国联合网络通信集团有限公司 | 流水线编排方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017177769A1 (zh) * | 2016-04-11 | 2017-10-19 | 平安科技(深圳)有限公司 | Ogg 版本部署方法、系统、服务器和存储介质 |
CN108228190A (zh) * | 2018-01-25 | 2018-06-29 | 杭州时趣信息技术有限公司 | 持续集成和交付方法、系统、设备及计算机可读存储介质 |
CN109634612A (zh) * | 2018-12-04 | 2019-04-16 | 浙江数链科技有限公司 | 持续集成方法、系统、计算机设备和存储介质 |
WO2019075978A1 (zh) * | 2017-10-16 | 2019-04-25 | 平安科技(深圳)有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
-
2019
- 2019-09-04 CN CN201910832670.2A patent/CN110597552B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017177769A1 (zh) * | 2016-04-11 | 2017-10-19 | 平安科技(深圳)有限公司 | Ogg 版本部署方法、系统、服务器和存储介质 |
WO2019075978A1 (zh) * | 2017-10-16 | 2019-04-25 | 平安科技(深圳)有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
CN108228190A (zh) * | 2018-01-25 | 2018-06-29 | 杭州时趣信息技术有限公司 | 持续集成和交付方法、系统、设备及计算机可读存储介质 |
CN109634612A (zh) * | 2018-12-04 | 2019-04-16 | 浙江数链科技有限公司 | 持续集成方法、系统、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
在 gitlab.com 上配置持续集成和持续部署;fengzifz;《https://www.fengzifz.com/2018/07/10/gitlab-com-ci-cd-configuration/》;20180710;网页第1-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110597552A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109901834B (zh) | 文档页面生成方法、装置、计算机设备和存储介质 | |
CN110597552B (zh) | 项目持续集成流水线的配置方法、装置、设备及存储介质 | |
CN109446570B (zh) | 业务流程展示方法、装置、计算机设备以及存储介质 | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN111045707B (zh) | 小程序的更新方法、装置、计算机设备和存储介质 | |
CN111389014A (zh) | 游戏资源数据监控方法、装置、计算机设备和存储介质 | |
CN112486828A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN111949262A (zh) | 前端项目的构建方法、装置、计算机设备和存储介质 | |
CN115344284A (zh) | 自动驾驶软件升级方法、装置、存储介质及计算机设备 | |
US8769498B2 (en) | Warning of register and storage area assignment errors | |
CN114625448A (zh) | 结合rpa和ai的流程生成方法、装置、电子设备及存储介质 | |
JP2023553220A (ja) | マルチインスタンスプロセスのためのプロセスマイニング | |
CN111090701B (zh) | 业务请求处理方法、装置、可读存储介质和计算机设备 | |
CN111796851A (zh) | 客户端基础库更新方法、装置、电子设备和存储介质 | |
CN113535182B (zh) | 项目工程的构建方法、装置、计算机设备和存储介质 | |
CN116048609A (zh) | 配置文件更新方法、装置、计算机设备和存储介质 | |
CN110286894B (zh) | 脚本生成方法、装置、计算机设备和存储介质 | |
CN114185566A (zh) | 容器化部署的方法、装置、计算机设备和存储介质 | |
CN115221852A (zh) | 基于vxe-table的动态计算表格实现方法、装置和计算机设备 | |
CN114153732A (zh) | 故障场景测试方法、装置、电子设备及存储介质 | |
CN114756293A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN113094052A (zh) | 应用构建方法、装置、计算机设备和存储介质 | |
CN112306995A (zh) | 一种数据库操作的实现方法及装置 | |
CN113835680A (zh) | 应用程序的生成方法、装置、电子设备及计算机存储介质 | |
CN109213785A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |