CN115456558A - 上线项目服务的方法、装置、电子设备及存储介质 - Google Patents

上线项目服务的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115456558A
CN115456558A CN202210997249.9A CN202210997249A CN115456558A CN 115456558 A CN115456558 A CN 115456558A CN 202210997249 A CN202210997249 A CN 202210997249A CN 115456558 A CN115456558 A CN 115456558A
Authority
CN
China
Prior art keywords
card
project service
test
project
service
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
Application number
CN202210997249.9A
Other languages
English (en)
Inventor
孙宇博
金鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210997249.9A priority Critical patent/CN115456558A/zh
Publication of CN115456558A publication Critical patent/CN115456558A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/445Exploiting fine grain parallelism, i.e. parallelism at instruction level
    • G06F8/4452Software pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种上线项目服务的方法、装置、电子设备以及存储介质,涉及自动化领域,尤其涉及上线项目服务领域。具体实现方案为:获取项目服务对应的项目服务卡片,项目服务卡片关联有项目服务对应的编译源代码;基于编译源代码,构建对应项目服务卡片的流水线流程;基于流水线流程,对项目服务执行测试准出、发布以及上线。

Description

上线项目服务的方法、装置、电子设备及存储介质
技术领域
本公开涉及自动化技术领域,尤其涉及上线项目服务领域。
背景技术
在互联网业务发展和版本迭代的过程中,用最少的人力和时间交付最多的项目服务,始终是每个互联网公司与互联网产品都期望达到的目标。而在保证项目服务质量的同时提升效能,缩短端到端交付的整体周期,正是实现此目标的关键所在。
目前项目服务的上线多为研发人员和测试人员手动完成,由于人力问题各个环节需要相互等待,拉长了项目服务上线的整体周期。
发明内容
本公开提供了一种上线项目服务的方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种上线项目服务的方法,包括:获取项目服务对应的项目服务卡片,所述项目服务卡片关联有所述项目服务对应的编译源代码;基于所述编译源代码,构建对应所述项目服务卡片的流水线流程;基于所述流水线流程,对所述项目服务执行测试准出、发布以及上线。
根据本公开的另一方面,提供了一种上线项目服务的装置,包括:获取模块,用于获取项目服务对应的项目服务卡片,所述项目服务卡片关联有所述项目服务对应的编译源代码;构建模块,用于基于所述编译源代码,构建对应所述项目服务卡片的流水线流程;处理模块,用于基于所述流水线流程,对所述项目服务执行测试准出、发布以及上线。
根据本公开的另一方面,提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
根据本公开的另一方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的方法。
根据本公开的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的方法。
本公开提供的上线项目服务的方法,获取项目服务对应的项目服务卡片,由于项目服务卡片关联有项目服务对应的编译源代码,因此基于编译源代码,就可以自动构建对应项目服务卡片的流水线流程,从而基于流水线流程,自动对项目服务执行测试准出、发布以及上线。在整个上线过程中无需人力操作,基于流水线流程进行各个流程的全自动流转最终将项目服务进行上线,缩短了各个环节的等待耗时,进而缩短了交付周期。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例提供的一种上线项目服务的方法流程图;
图2是根据本公开实施例提供的另一种上线项目服务的方法流程图;
图3是根据本公开实施例提供的一种上线项目服务的流程图;
图4是根据本公开实施例提供的另一种上线项目服务的流程图;
图5是根据本公开实施例提供的另一种上线项目服务的方法流程图;
图6是根据本公开实施例提供的又一种上线项目服务的流程图;
图7是根据本公开实施例提供的一种上线项目服务的装置的框图;
图8是用来实现本公开实施例的上线项目服务的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在互联网业务发展和版本迭代的过程中,用最少的人力和时间交付最多的项目服务,始终是每个互联网公司与互联网产品都期望达到的目标。而在保证项目服务质量的同时提升效能,缩短端到端交付的整体周期,正是实现此目标的关键所在。
目前项目服务的上线多为研发人员和测试人员手动完成,由于人力问题各个环节需要相互等待,拉长了项目服务上线的整体周期,同时全程都需要研发、测试人员参与,各环节无法自动流转,需要大量的人力投入。
基于此,本公开实施例提供了一种上线项目服务的方法,在整个上线过程中无需人力操作,基于流水线流程进行各个流程的全自动流转最终将项目服务进行上线,缩短了各个环节的等待耗时,进而缩短了交付周期。
作为一示例性实施方式,图1是根据本公开一示例性实施方式中示出的一种上线项目服务的方法流程图,该方法包括以下步骤:
在步骤S101中,获取项目服务对应的项目服务卡片。
其中,项目服务卡片关联有项目服务对应的编译源代码。
可选的,项目服务包括检索服务、商品管理服务等。例如,当项目服务为检索服务时,项目服务卡片可以为地图检索服务卡片;当项目服务为商品管理服务时,项目服务卡片可以为书本管理服务卡片。
可选的,在本公开实施例中,获取项目服务对应的项目服务卡片还可以被称为提测流程,提测流程用于表示项目服务开始进入测试流程。
在步骤S102中,基于编译源代码,构建对应项目服务卡片的流水线流程。
可选的,对编译源代码进行解析,获取服务拓扑图,服务拓扑图中包括了项目服务卡片的流水线流程,并根据服务拓扑图自动构建项目服务卡片的流水线流程。
可选的,在本公开实施例中,构建对应项目服务卡片的流水线流程还可以被称为环节构建流程。
在步骤S103中,基于流水线流程,对项目服务执行测试准出、发布以及上线。
其中,测试准出表示项目服务测试完毕。当测试准出通过后,流水线会自动进入发布和上线流程,在上线流程中,基于上线平台完成上线。
在本公开实施例中,获取项目服务对应的项目服务卡片,由于项目服务卡片关联有项目服务对应的编译源代码,因此基于编译源代码,就可以自动构建对应项目服务卡片的流水线流程,从而基于流水线流程,自动对项目服务执行测试准出、发布以及上线。在整个上线过程中无需人力操作,基于流水线流程进行各个流程的全自动流转最终将项目服务进行上线,缩短了各个环节的等待耗时,进而缩短了交付周期。
一些实施例中,在提测流程之前,获取项目服务对应的代码,并自动触发编译环节对代码进行编译得到编译源代码,同时调用代码扫描工具对代码漏洞进行自主扫描,在代码编译与扫描通过之后才会进入到提测环节。
当项目服务的测试基于人力时,受限于测试人力,并不是所有的项目服务都能经过各流程的完整测试后上线,部分项目服务未经测试后上线,研发问题会被遗留至线上,影响了整体的交付质量。
基于此,在本公开的一些实施例中,构建包含测试流程的第一流水线流程。
图2是根据本公开实施例中基于编译源代码,构建对应项目服务卡片的流水线流程的流程示意图,参照图2,包括以下步骤:
在步骤S201中,若编译源代码中对应有项目服务的测试用例,则构建第一流水线流程。
其中,第一流水线流程包括对应测试用例的测试流程、测试准出流程、发布流程和上线流程。
基于此,如图3所示,本公开实施例中的流水线流程可以包括代码扫描、代码编译、提测、环节构建、功能测试、性能测试、测试准出、发布以及上线等流程。
示例性的,对应测试用例的测试流程可以包括功能测试、性能测试等测试。其中,性能测试又可以包括子系统级性能测试和模块级性能测试。
进一步的,当流水线流程执行功能测试时,基于自动化平台的自动化测试能力,测试服务项目的功能是否正常。当流水线流程执行性能测试时,基于性能平台的性能测试能力,测试服务项目的性能是否良好。
可选的,在流水线流程执行测试流程时,针对测试流程中的每一个测试均会生成测试是否通过的测试结果。
进一步的,当流水线流程执行测试准出流程时,在测试准出流程中会根据测试流程中各个测试的测试结果生成综合测试结果。若综合测试结果为失败,则流水线流程会暂停,等待人工确认后再行继续。若综合测试结果为成功,则自动流转至下一流程。
在本公开实施例中,通过构建包括测试流程的流水线流程,实现通过流水线流程自动完成对项目服务的测试,无需测试人员手动进行测试,缩短了测试环节等待的时间。同时,将全部流程整合至一条流水线中,实现了一次触发即可自动上线的能力,减少各环节的等待时间。
可选的,由于检索是一种重效果体验类的服务,检索的业务特点决定了不是单纯服务有返回就可以判定为请求成功,而必须是提供给用户符合其真实诉求的检索结果。当前普通的功能、性能测试均无法满足此类业务的测试需求。因此,在本公开的一些实施例中,项目服务包括检索服务,测试用例包括高频检索词检索结果一致性测试(以下简称高频diff测试)。
作为一种可能的实现方式,项目服务包括地图检索服务,高频检索词为地图检索中的高频检索词。
其中,高频检索词为检索次数超出设定次数阈值的检索词,检索结果一致性包括流水线流程执行的测试检索结果与运行检索服务得到的基准检索结果的一致性。
可选的,基于用户行为日志的大数据分析,提取出用户常检索的关键地点或词语,生成高频检索词。基于高频检索词获取流水线流程执行的测试检索结果和运行检索服务得到的基准检索结果进行比较,若测试检索结果和基准检索结果全部相同,则认为高频检索词检索结果一致性测试通过;若测试检索结果和基准检索结果不同的数量达到一定比例,则认为高频检索词检索结果一致性测试失败。
基于此,如图4所示,本公开实施例中的流水线流程可以包括代码扫描、代码编译、提测、环节构建、功能测试、性能测试、高频diff测试、测试准出、发布以及上线等流程。
在本公开实施例中,通过增加高频检索词检索结果一致性测试,对需要检索的项目服务效果进行了验证,保证了每次上线后检索效果不会退化,不会引发恶劣的线上问题。同时通过在流水线中设置高频检索词检索结果一致性测试环节,对项目服务执行自动测试,节约了人力,缩短了人工测试的时间。
另一些实施例中,由于测试能力的建设是一个漫长的过程,短时间内可能无法建设全部模块的测试能力,但是对于没有完善测试能力的模块,仍然要度量其效能情况,基于此,本公开实施例还提供一种基于编译源代码,构建对应项目服务卡片的流水线流程的流程示意图,参照图5,包括以下步骤:
在步骤S501中,若编译源代码中未包括项目服务的测试用例,则构建第二流水线流程。
其中,第二流水线流程包括测试准出流程、发布流程和上线流程。
示例性的,如图6所示,本公开实施例中的第二流水线流程可以包括代码扫描、代码编译、提测、环节构建、测试准出、发布以及上线等流程。
在本公开实施例中,第二流水线流程只是不具备测试流程,但是仍然具备提测和测试准出等流程,即依旧能实现自动上线能力,只是不经过具体的测试项目,依旧能通过流水线流程的自动流转节约人力和时间,同时提升研发规范度。
基于上述任一实施例,在本公开实施例中,项目服务卡片被设置有卡片状态,卡片状态为执行项目服务的工程平台,基于项目服务卡片的流转状态自动设置的状态。
可选的,工程平台可以为代码管理平台、上线平台、流水线平台等各种执行项目服务的平台。
在本公开实施例中,通过项目服务卡片的流转状态自动设置执行项目服务的工程平台的卡片状态,无需人员进行手工设置,节约人力和时间。
一些实施例中,执行项目服务的工程平台,采用如下方式基于项目服务卡片的流转状态自动设置的状态:
响应于工程平台监测到项目服务卡片被新建,将项目服务卡片的卡片状态自动设置为待开发状态;响应于工程平台监测到源代码被提交,将项目服务卡片的卡片状态自动设置为开发中状态;响应于工程平台监测到提测按键被触发,将项目服务卡片的卡片状态自动设置为测试中状态;响应于工程平台监测到项目服务完成测试环节的测试,将项目服务卡片的卡片状态自动设置为测试完成状态;响应于工程平台监测到项目服务执行上线流程,将项目服务卡片的卡片状态自动设置为上线中状态。
作为一种具体的实现方式,工程平台可以为流水线平台。
当流水线平台监测到项目服务卡片被新建,将项目服务卡片的卡片状态自动设置为待开发状态;当流水线平台监测到源代码被提交,将项目服务卡片的卡片状态自动设置为开发中状态;当流水线平台监测到提测按键被触发,将项目服务卡片的卡片状态自动设置为测试中状态;当流水线平台监测到项目服务完成测试环节的测试,将项目服务卡片的卡片状态自动设置为测试完成状态;当流水线平台监测到项目服务执行上线流程,将项目服务卡片的卡片状态自动设置为上线中状态。
在本公开实施例中,项目服务卡片的卡片状态可以是由执行项目服务的工程平台设置的,当执行项目服务的工程平台为流水线平台时,项目服务卡片的卡片状态为流水线平台根据项目服务卡片的流转状态自动流转设置的。因此实现了项目服务卡片的卡片状态的自动流转,从而无需人为调整项目服务卡片的状态,极大提高了项目服务流程的规范度。
可选的,由于准确的效能数据是工程效能提升的前提,有了准确的端到端交付数据,才能判定某种提升手段或方法是否产生了正向积极的作用。但是服务项目上线的整体流程链路较长,且环节众多,通过人为上线项目服务,没有办法细致计算出每个流程的耗时与人力分配情况,难以得到准确的端到端交付数据。以往只能基于项目服务卡片的卡片状态的流转时间来确定各流程耗时以及整体耗时。但是各流程的流转只能人工流转,当研发、测试人员忘记更改卡片状态时,度量数据的准确度就会变差,不符合实际情况。
基于此,本公开实施例通过根据工程平台多维度获取各个流程的流转时间,将其作为项目服务卡片的流转时间,从而可以准确的获取端到端各个流程的耗时。
一些实施例中,从工程平台中获取第一次拉取代码分支的时间,作为开始开发的时间点;从工程平台中获取最后一次发起评审的时间,作为开发完成的时间点;从工程平台中获取项目服务开始上线的时间,作为开始上线的时间点;从工程平台中获取项目服务结束上线的时间,作为上线完成的时间点。
其中,开始开发的时间点到开发完成的时间点之间的时间表示研发时间,开发完成的时间点到开始上线的时间点之间的时间表示测试时间,开始上线的时间点到上线完成的时间点表示上线时间。
在本公开实施例中,通过根据工程平台多维度获取各个流程的流转时间,将其作为项目服务卡片的流转时间,从而可以准确的获取端到端各个流程的耗时。
基于相同的构思,本公开实施例还提供一种上线项目服务的装置。
可以理解的是,本公开实施例提供的上线项目服务的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本公开实施例中所公开的各示例的单元及算法步骤,本公开实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本公开实施例的技术方案的范围。
作为一示例性实施方式,图7是根据本公开一示例性实施方式中示出的一种上线项目服务的装置的框图。参阅图7所示,包括获取模块701、构建模块702、以及处理模块703。
获取模块701,用于获取项目服务对应的项目服务卡片,项目服务卡片关联有所述项目服务对应的编译源代码。
构建模块702,用于基于编译源代码,构建对应项目服务卡片的流水线流程。
处理模块703,用于基于流水线流程,对项目服务执行测试准出、发布以及上线。
在一种实施方式中,构建模块702,具体用于若编译源代码中对应有项目服务的测试用例,则构建第一流水线流程,第一流水线流程包括对应测试用例的测试流程、测试准出流程、发布流程和上线流程。
在一种实施方式中,构建模块702,具体还用于若编译源代码中未包括项目服务的测试用例,则构建第二流水线流程,第二流水线流程包括测试准出流程、发布流程和上线流程。
在一种实施方式中,项目服务包括检索服务,测试用例包括高频检索词检索结果一致性测试;高频检索词为检索次数超出设定次数阈值的检索词;检索结果一致性包括流水线流程执行的测试检索结果与运行检索服务得到的基准检索结果的一致性。
在一种实施方式中,项目服务卡片被设置有卡片状态,卡片状态为执行项目服务的工程平台,基于项目服务卡片的流转状态自动设置的状态。
在一种实施方式中,执行项目服务的工程平台,采用如下方式基于项目服务卡片的流转状态自动设置的状态:响应于工程平台监测到项目服务卡片被新建,将项目服务卡片的卡片状态自动设置为待开发状态;响应于工程平台监测到源代码被提交,将项目服务卡片的卡片状态自动设置为开发中状态;响应于工程平台监测到提测按键被触发,将项目服务卡片的卡片状态自动设置为测试中状态;响应于工程平台监测到项目服务完成测试环节的测试,将项目服务卡片的卡片状态自动设置为测试完成状态;响应于工程平台监测到项目服务执行所述上线流程,将项目服务卡片的卡片状态自动设置为上线中状态。
在一种实施方式中,获取模块701,还用于从工程平台中获取第一次拉取代码分支的时间,作为开始开发的时间点;从工程平台中获取最后一次发起评审的时间,作为开发完成的时间点;从工程平台中获取项目服务开始上线的时间,作为开始上线的时间点;从工程平台中获取项目服务结束上线的时间,作为上线完成的时间点。
关于本公开上述涉及的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法XXX。例如,在一些实施例中,方法XXX可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM803并由计算单元801执行时,可以执行上文描述的方法XXX的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法XXX。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (17)

1.一种上线项目服务的方法,包括:
获取项目服务对应的项目服务卡片,所述项目服务卡片关联有所述项目服务对应的编译源代码;
基于所述编译源代码,构建对应所述项目服务卡片的流水线流程;
基于所述流水线流程,对所述项目服务执行测试准出、发布以及上线。
2.根据权利要求1所述的方法,其中,所述基于所述编译源代码,构建对应所述项目服务卡片的流水线流程,包括:
若所述编译源代码中对应有所述项目服务的测试用例,则构建第一流水线流程,所述第一流水线流程包括对应所述测试用例的测试流程、测试准出流程、发布流程和上线流程。
3.根据权利要求1所述的方法,其中,所述基于所述编译源代码,构建对应所述项目服务卡片的流水线流程,包括:
若所述编译源代码中未包括所述项目服务的测试用例,则构建第二流水线流程,所述第二流水线流程包括测试准出流程、发布流程和上线流程。
4.根据权利要求2所述的方法,所述项目服务包括检索服务,所述测试用例包括高频检索词检索结果一致性测试;
所述高频检索词为检索次数超出设定次数阈值的检索词;
所述检索结果一致性包括所述流水线流程执行的测试检索结果与运行所述检索服务得到的基准检索结果的一致性。
5.根据权利要求1至4中任意一项所述的方法,所述项目服务卡片被设置有卡片状态,所述卡片状态为执行所述项目服务的工程平台,基于所述项目服务卡片的流转状态自动设置的状态。
6.根据权利要求5所述的方法,执行所述项目服务的工程平台,采用如下方式基于所述项目服务卡片的流转状态自动设置的状态:
响应于所述工程平台监测到所述项目服务卡片被新建,将所述项目服务卡片的卡片状态自动设置为待开发状态;
响应于所述工程平台监测到源代码被提交,将所述项目服务卡片的卡片状态自动设置为开发中状态;
响应于所述工程平台监测到提测按键被触发,将所述项目服务卡片的卡片状态自动设置为测试中状态;
响应于所述工程平台监测到所述项目服务完成所述测试环节的测试,将所述项目服务卡片的卡片状态自动设置为测试完成状态;
响应于所述工程平台监测到所述项目服务执行所述上线流程,将所述项目服务卡片的卡片状态自动设置为上线中状态。
7.根据权利要求6所述的方法,还包括:
从所述工程平台中获取第一次拉取代码分支的时间,作为开始开发的时间点;
从所述工程平台中获取最后一次发起评审的时间,作为开发完成的时间点;
从所述工程平台中获取所述项目服务开始上线的时间,作为开始上线的时间点;
从所述工程平台中获取所述项目服务结束上线的时间,作为上线完成的时间点。
8.一种上线项目服务的装置,包括:
获取模块,用于获取项目服务对应的项目服务卡片,所述项目服务卡片关联有所述项目服务对应的编译源代码;
构建模块,用于基于所述编译源代码,构建对应所述项目服务卡片的流水线流程;
处理模块,用于基于所述流水线流程,对所述项目服务执行测试准出、发布以及上线。
9.根据权利要求8所述的装置,
所述构建模块,具体用于若所述编译源代码中对应有所述项目服务的测试用例,则构建第一流水线流程,所述第一流水线流程包括对应所述测试用例的测试流程、测试准出流程、发布流程和上线流程。
10.根据权利要求8所述的装置,
所述构建模块,具体还用于若所述编译源代码中未包括所述项目服务的测试用例,则构建第二流水线流程,所述第二流水线流程包括测试准出流程、发布流程和上线流程。
11.根据权利要求10所述的装置,所述项目服务包括检索服务,所述测试用例包括高频检索词检索结果一致性测试;所述高频检索词为检索次数超出设定次数阈值的检索词;所述检索结果一致性包括所述流水线流程执行的测试检索结果与运行所述检索服务得到的基准检索结果的一致性。
12.根据权利要求8至11任意一项所述的装置,所述项目服务卡片被设置有卡片状态,所述卡片状态为执行所述项目服务的工程平台,基于所述项目服务卡片的流转状态自动设置的状态。
13.根据权利要求12所述的装置,执行所述项目服务的工程平台,采用如下方式基于所述项目服务卡片的流转状态自动设置的状态:
响应于所述工程平台监测到所述项目服务卡片被新建,将所述项目服务卡片的卡片状态自动设置为待开发状态;
响应于所述工程平台监测到源代码被提交,将所述项目服务卡片的卡片状态自动设置为开发中状态;
响应于所述工程平台监测到提测按键被触发,将所述项目服务卡片的卡片状态自动设置为测试中状态;
响应于所述工程平台监测到所述项目服务完成所述测试环节的测试,将所述项目服务卡片的卡片状态自动设置为测试完成状态;
响应于所述工程平台监测到所述项目服务执行所述上线流程,将所述项目服务卡片的卡片状态自动设置为上线中状态。
14.根据权利要求13所述的装置,还包括:
所述获取模块,还用于从所述工程平台中获取第一次拉取代码分支的时间,作为开始开发的时间点;从所述工程平台中获取最后一次发起评审的时间,作为开发完成的时间点;从所述工程平台中获取所述项目服务开始上线的时间,作为开始上线的时间点;从所述工程平台中获取所述项目服务结束上线的时间,作为上线完成的时间点。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
CN202210997249.9A 2022-08-19 2022-08-19 上线项目服务的方法、装置、电子设备及存储介质 Pending CN115456558A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210997249.9A CN115456558A (zh) 2022-08-19 2022-08-19 上线项目服务的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210997249.9A CN115456558A (zh) 2022-08-19 2022-08-19 上线项目服务的方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115456558A true CN115456558A (zh) 2022-12-09

Family

ID=84298547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210997249.9A Pending CN115456558A (zh) 2022-08-19 2022-08-19 上线项目服务的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115456558A (zh)

Similar Documents

Publication Publication Date Title
CN113760769A (zh) 测试用例处理方法、装置、电子设备以及存储介质
CN115598505A (zh) 一种芯片检测方法、装置、设备和存储介质
CN112988578A (zh) 一种自动化测试方法和装置
CN115456558A (zh) 上线项目服务的方法、装置、电子设备及存储介质
CN114693116A (zh) 代码评审有效性的检测方法及装置、电子设备
CN115890684A (zh) 一种机器人调度方法、装置、设备及介质
CN115509602A (zh) 项目管理方法、装置、设备及存储介质
CN113296836B (zh) 训练模型的方法、测试方法、装置、电子设备及存储介质
CN114490408A (zh) 一种测试用例生成方法、装置、设备、存储介质及产品
CN113127284A (zh) 服务器压力测试方法、系统、电子设备及存储介质
CN115374010A (zh) 功能测试方法、装置、设备及存储介质
CN114816758B (zh) 资源分配方法和装置
CN113836712B (zh) 车道级导航的室内仿真方法、装置、设备和介质
CN116955189A (zh) 一种用户界面自动化测试方法、装置、设备及存储介质
CN115098405B (zh) 软件产品的测评方法、装置、电子设备及存储介质
CN115374012A (zh) 自动化回归测试方法、装置、电子设备及存储介质
CN116401113B (zh) 一种异构众核架构加速卡的环境验证方法、装置及介质
CN115495382A (zh) 一种自动化测试系统、自动化测试方法、设备及存储介质
CN114996157A (zh) 变更代码的风险识别方法、装置、设备以及存储介质
CN116225390A (zh) 一种软件开发文件的入库方法、装置、设备及介质
CN114443490A (zh) 一种软件缺陷预测方法、装置、设备及存储介质
CN114238149A (zh) 账务系统的批量测试方法、电子设备及存储介质
CN115878461A (zh) 一种操作日志测试方法、装置、设备及存储介质
CN115437955A (zh) 一种项目测试方法、装置、设备及存储介质
CN114693115A (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