Method, device, electronic equipment and storage medium for online project service
By automatically building pipeline processes, the system achieves fully automated testing, release, and deployment of project services, solving the problem of manpower waiting and improving the delivery efficiency and cycle time of project services.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING BAIDU NETCOM SCI & TECH CO LTD
- Filing Date
- 2022-08-19
- Publication Date
- 2026-05-29
AI Technical Summary
In the current technology, the launch of project services is hampered by manpower issues, which cause various stages to wait for each other, lengthening the overall cycle and making it impossible to achieve fully automated workflow, requiring a large amount of manpower.
By acquiring the compiled source code associated with the project service card, a pipeline process is automatically built to realize the test approval, release and launch of project services. The entire process requires no human operation and is fully automated based on the pipeline process.
It shortened the waiting time at each stage, improved the delivery efficiency of project services, reduced manpower input, and shortened the delivery cycle.
Smart Images

Figure CN115456558B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of automation technology, and in particular to the field of online project services. Background Technology
[0002] In the process of internet business development and version iteration, delivering the most project services with the least manpower and time has always been the goal of every internet company and internet product. Improving efficiency while ensuring project service quality and shortening the overall end-to-end delivery cycle is the key to achieving this goal.
[0003] Currently, the launch of project services is mostly done manually by R&D and testing personnel. Due to manpower issues, each stage needs to wait for each other, which lengthens the overall cycle of project service launch. Summary of the Invention
[0004] This disclosure provides a method, apparatus, electronic device, and storage medium for launching project services.
[0005] According to one aspect of this disclosure, a method for launching a project service is provided, comprising: obtaining a project service card corresponding to the project service, wherein the project service card is associated with the compiled source code corresponding to the project service; constructing a pipeline process corresponding to the project service card based on the compiled source code; and performing test approval, release, and launch on the project service based on the pipeline process.
[0006] According to another aspect of this disclosure, an apparatus for launching a project service is provided, comprising: an acquisition module for acquiring a project service card corresponding to the project service, wherein the project service card is associated with the compiled source code corresponding to the project service; a construction module for constructing a pipeline process corresponding to the project service card based on the compiled source code; and a processing module for performing test approval, release, and launch on the project service based on the pipeline process.
[0007] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method described above.
[0008] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to perform the methods described above.
[0009] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the method described above.
[0010] The method for deploying project services disclosed herein obtains the project service card corresponding to the project service. Since the project service card is associated with the corresponding compiled source code, a pipeline process for the corresponding project service card can be automatically constructed based on the compiled source code. This pipeline process then automatically performs test approval, release, and deployment of the project service. No manual operation is required throughout the entire deployment process; the fully automated flow of each step based on the pipeline process ultimately deploys the project service, reducing waiting time at each stage and thus shortening the delivery cycle.
[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0012] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0013] Figure 1 This is a flowchart of a method for launching a project service according to an embodiment of this disclosure;
[0014] Figure 2 This is a flowchart of another method for launching a project service according to an embodiment of this disclosure;
[0015] Figure 3 This is a flowchart of an online project service provided according to an embodiment of this disclosure;
[0016] Figure 4 This is a flowchart of another online project service provided according to an embodiment of this disclosure;
[0017] Figure 5 This is a flowchart of another method for launching a project service according to an embodiment of this disclosure;
[0018] Figure 6 This is a flowchart of yet another online project service provided according to an embodiment of this disclosure;
[0019] Figure 7 This is a block diagram of an apparatus for launching a project service according to an embodiment of the present disclosure;
[0020] Figure 8 This is a block diagram of an electronic device used to implement the method of launching project services according to embodiments of the present disclosure. Detailed Implementation
[0021] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0022] In the process of internet business development and version iteration, delivering the most project services with the least manpower and time has always been the goal of every internet company and internet product. Improving efficiency while ensuring project service quality and shortening the overall end-to-end delivery cycle is the key to achieving this goal.
[0023] Currently, the launch of project services is mostly done manually by R&D and testing personnel. Due to manpower issues, each link needs to wait for each other, which lengthens the overall cycle of project service launch. At the same time, the entire process requires the participation of R&D and testing personnel, and the links cannot be automatically processed, requiring a large amount of manpower.
[0024] Based on this, the present disclosure provides a method for launching project services. The entire launch process requires no manual operation. The project services are launched automatically based on a pipeline process, which shortens the waiting time at each stage and thus shortens the delivery cycle.
[0025] As an exemplary implementation, Figure 1 This is a flowchart illustrating a method for launching a project service according to an exemplary embodiment of this disclosure. The method includes the following steps:
[0026] In step S101, the project service card corresponding to the project service is obtained.
[0027] Each project service card is associated with the compiled source code corresponding to the project service.
[0028] Optionally, project services may include search services, product management services, etc. For example, when the project service is a search service, the project service card could be a map search service card; when the project service is a product management service, the project service card could be a book management service card.
[0029] Optionally, in this embodiment of the disclosure, obtaining the project service card corresponding to the project service can also be referred to as the test submission process, which indicates that the project service has started to enter the testing process.
[0030] In step S102, a pipeline process for constructing the corresponding project service card is built based on the compiled source code.
[0031] Optionally, the compiled source code is parsed to obtain a service topology diagram, which includes the pipeline process of the project service cards. The pipeline process of the project service cards is automatically constructed based on the service topology diagram.
[0032] Optionally, in this embodiment of the disclosure, the pipeline process for constructing the corresponding project service card can also be referred to as the process construction process.
[0033] In step S103, based on the pipeline process, the project service is tested, released, and launched.
[0034] Test pass indicates that the project service testing is complete. Once the test pass is passed, the pipeline will automatically enter the release and deployment process, in which the deployment will be completed based on the deployment platform.
[0035] In this embodiment, a project service card corresponding to a project service is obtained. Since the project service card is associated with the corresponding compiled source code, a pipeline process for the corresponding project service card can be automatically constructed based on the compiled source code. This pipeline process then automatically performs test approval, release, and deployment of the project service. No manual operation is required throughout the entire deployment process; the fully automated flow of each step based on the pipeline process ultimately deploys the project service, reducing waiting time at each stage and thus shortening the delivery cycle.
[0036] In some embodiments, before the testing process, the code corresponding to the project service is obtained, and the compilation process is automatically triggered to compile the code to obtain the compiled source code. At the same time, a code scanning tool is called to perform an autonomous scan for code vulnerabilities. Only after the code compilation and scanning are passed will the testing process begin.
[0037] When project service testing is based on manpower, due to limitations in testing manpower, not all project services can be fully tested through each process before going live. Some project services are launched without testing, and development issues are left online, affecting the overall delivery quality.
[0038] Based on this, in some embodiments of this disclosure, a first pipeline process including a testing process is constructed.
[0039] Figure 2 This is a flowchart illustrating the pipeline process for constructing corresponding project service cards based on compiled source code, according to an embodiment of this disclosure. (Refer to...) Figure 2 This includes the following steps:
[0040] In step S201, if there are test cases for the project service in the compiled source code, then the first pipeline process is constructed.
[0041] The first pipeline process includes the testing process, test admission process, release process, and deployment process for the corresponding test cases.
[0042] Based on this, such as Figure 3 As shown, the pipeline process in this embodiment may include code scanning, code compilation, testing, process construction, functional testing, performance testing, test approval, release, and deployment.
[0043] For example, the testing process for a corresponding test case may include functional testing, performance testing, and other tests. Performance testing can be further divided into subsystem-level performance testing and module-level performance testing.
[0044] Furthermore, when the pipeline process performs functional testing, the automated testing capabilities of the automation platform are used to test whether the service items function correctly. When the pipeline process performs performance testing, the performance testing capabilities of the performance platform are used to test whether the service items perform well.
[0045] Optionally, when the test process is executed in the pipeline, a test result indicating whether the test passed or failed will be generated for each test in the test process.
[0046] Furthermore, when the pipeline executes the test checkout process, a comprehensive test result is generated based on the test results of each test in the test process. If the comprehensive test result is a failure, the pipeline will pause and wait for manual confirmation before continuing. If the comprehensive test result is a success, it will automatically proceed to the next process.
[0047] In this embodiment of the disclosure, by constructing a pipeline process that includes testing procedures, the testing of project services can be automatically completed through the pipeline process, eliminating the need for manual testing by testers and shortening the waiting time in the testing phase. Simultaneously, by integrating all processes into a single pipeline, the capability for automatic deployment with a single trigger is achieved, further reducing the waiting time at each stage.
[0048] Optionally, since retrieval is a service that heavily emphasizes user experience, its business characteristics dictate that a successful request cannot be determined simply by the service returning a response; rather, it must provide users with search results that truly meet their needs. Current standard functional and performance tests are insufficient to meet the testing requirements of such services. Therefore, in some embodiments of this disclosure, the project service includes a retrieval service, and the test cases include high-frequency search term search result consistency testing (hereinafter referred to as high-frequency diff testing).
[0049] As one possible implementation, the project services include map retrieval services, with high-frequency search terms being the most frequently used search terms in map retrieval.
[0050] Among them, high-frequency search terms are search terms whose search frequency exceeds a set threshold, and the consistency of search results includes the consistency between the test search results executed by the pipeline process and the benchmark search results obtained by running the search service.
[0051] Optionally, based on big data analysis of user behavior logs, frequently searched key locations or words are extracted to generate high-frequency search terms. The test search results obtained from the pipeline process based on these high-frequency search terms are compared with the baseline search results obtained from running the search service. If all test search results are identical to the baseline search results, the high-frequency search term search result consistency test is considered passed; if the number of differences between the test search results and the baseline search results reaches a certain proportion, the high-frequency search term search result consistency test is considered failed.
[0052] Based on this, such as Figure 4 As shown, the pipeline process in this embodiment may include code scanning, code compilation, testing, process construction, functional testing, performance testing, high-frequency diff testing, test approval, release, and deployment.
[0053] In this embodiment, by adding a consistency test for high-frequency search terms, the effectiveness of the service being searched is verified, ensuring that the search results do not degrade after each deployment and do not cause serious online problems. Furthermore, by setting up a consistency test step for high-frequency search terms in the pipeline, automated testing of the service is performed, saving manpower and shortening the time required for manual testing.
[0054] In other embodiments, since building testing capabilities is a lengthy process, it may not be possible to build testing capabilities for all modules in a short period of time. However, for modules without complete testing capabilities, their performance still needs to be measured. Based on this, embodiments of this disclosure also provide a flowchart illustrating a pipeline process for building corresponding project service cards based on compiled source code, referring to... Figure 5 This includes the following steps:
[0055] In step S501, if the compiled source code does not include test cases for the project service, then a second pipeline process is constructed.
[0056] The second pipeline process includes the test approval process, the release process, and the go-live process.
[0057] For example, such as Figure 6 As shown, the second pipeline process in this embodiment may include code scanning, code compilation, testing, process construction, test approval, release, and deployment.
[0058] In this embodiment of the disclosure, the second pipeline process only lacks the testing process, but still has processes such as test submission and test approval, that is, it can still achieve automatic deployment capability. It just does not go through specific test items, but can still save manpower and time through the automatic flow of the pipeline process, while improving the standardization of R&D.
[0059] Based on any of the above embodiments, in this embodiment of the disclosure, the project service card is set with a card status, which is the status automatically set by the engineering platform that executes the project service based on the flow status of the project service card.
[0060] Optionally, the engineering platform can be a platform that provides various services for executing projects, such as a code management platform, a deployment platform, or a pipeline platform.
[0061] In this embodiment of the disclosure, the card status of the engineering platform executing the project service is automatically set by the flow status of the project service card, eliminating the need for manual settings and saving manpower and time.
[0062] In some embodiments, the engineering platform that executes project services automatically sets the status based on the flow status of the project service card in the following manner:
[0063] In response to the engineering platform detecting the creation of a new project service card, the card status is automatically set to "Pending Development"; in response to the engineering platform detecting the submission of source code, the card status is automatically set to "Under Development"; in response to the engineering platform detecting the triggering of the "Submit for Testing" button, the card status is automatically set to "Testing in Progress"; in response to the engineering platform detecting the completion of the testing phase of a project service, the card status is automatically set to "Test Completed"; in response to the engineering platform detecting the execution of the online deployment process for a project service, the card status is automatically set to "Online Deployment".
[0064] As a specific implementation method, the engineering platform can be a pipeline platform.
[0065] When the pipeline platform detects that a project service card has been created, it automatically sets the card status to "Pending Development"; when the pipeline platform detects that source code has been submitted, it automatically sets the card status to "Under Development"; when the pipeline platform detects that the "Submit for Testing" button has been triggered, it automatically sets the card status to "Testing"; when the pipeline platform detects that a project service has completed the testing phase, it automatically sets the card status to "Test Completed"; when the pipeline platform detects that a project service is executing the deployment process, it automatically sets the card status to "Deployment in Progress".
[0066] In this embodiment, the card status of a project service card can be set by the engineering platform executing the project service. When the engineering platform executing the project service is a pipeline platform, the card status of the project service card is automatically set by the pipeline platform according to the flow status of the project service card. Therefore, the automatic flow of the card status of the project service card is realized, thereby eliminating the need for manual adjustment of the project service card status and greatly improving the standardization of the project service process.
[0067] Optionally, accurate performance data is a prerequisite for improving engineering efficiency. Only with accurate end-to-end delivery data can we determine whether a particular improvement method or approach has had a positive effect. However, the overall process of service project deployment is long and involves many steps. Manually deploying service projects makes it impossible to meticulously calculate the time consumption and manpower allocation for each process, making it difficult to obtain accurate end-to-end delivery data. Previously, the time consumption of each process and the overall time could only be determined based on the card status transition time of the project service card. However, the transition of each process can only be done manually. When R&D and testing personnel forget to update the card status, the accuracy of the measurement data deteriorates and does not reflect reality.
[0068] Based on this, the embodiments of this disclosure obtain the flow time of each process from multiple dimensions of the engineering platform and use it as the flow time of the project service card, thereby accurately obtaining the end-to-end time consumption of each process.
[0069] In some embodiments, the time of the first code branch pull is obtained from the engineering platform as the start time of development; the time of the last review initiated is obtained from the engineering platform as the development completion time; the time of the project service going live is obtained from the engineering platform as the launch start time; and the time of the project service going live is obtained from the engineering platform as the launch completion time.
[0070] The time between the start of development and the completion of development represents the R&D time; the time between the completion of development and the start of launch represents the testing time; and the time between the start of launch and the completion of launch represents the launch time.
[0071] In this embodiment of the disclosure, by obtaining the flow time of each process from multiple dimensions of the engineering platform and using it as the flow time of the project service card, the end-to-end time consumption of each process can be accurately obtained.
[0072] Based on the same concept, this disclosure also provides an apparatus for launching project services.
[0073] It is understood that the apparatus for providing online project services provided in this disclosure includes hardware structures and / or software modules corresponding to each function in order to achieve the above-mentioned functions. In conjunction with the units and algorithm steps of the various examples disclosed in this disclosure, this disclosure can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the technical solutions of this disclosure.
[0074] As an exemplary implementation, Figure 7 This is a block diagram of an apparatus for launching a project service according to an exemplary embodiment of this disclosure. See also... Figure 7 As shown, it includes an acquisition module 701, a construction module 702, and a processing module 703.
[0075] The acquisition module 701 is used to acquire the project service card corresponding to the project service, and the project service card is associated with the compiled source code corresponding to the project service.
[0076] Module 702 is used to build a pipeline process for constructing corresponding project service cards based on compiled source code.
[0077] Processing module 703 is used to perform test approval, release, and deployment of project services based on pipeline processes.
[0078] In one implementation, the construction module 702 is specifically used to construct a first pipeline process if there are test cases corresponding to the project service in the compiled source code. The first pipeline process includes a test process, a test admission process, a release process, and a deployment process corresponding to the test cases.
[0079] In one implementation, the construction module 702 is further configured to construct a second pipeline process if the compiled source code does not include test cases for the project services. The second pipeline process includes a test admission process, a release process, and a deployment process.
[0080] In one implementation, the project service includes a retrieval service, and the test cases include a consistency test of retrieval results for high-frequency search terms; high-frequency search terms are search terms whose retrieval frequency exceeds a set threshold; the consistency of retrieval results includes the consistency between the test retrieval results executed by the pipeline process and the baseline retrieval results obtained by running the retrieval service.
[0081] In one implementation, the project service card is set with a card status, which is automatically set by the engineering platform that executes the project service based on the flow status of the project service card.
[0082] In one implementation, the engineering platform executing the project service automatically sets the status based on the flow status of the project service card in the following manner: In response to the engineering platform detecting the creation of a new project service card, the card status is automatically set to "Pending Development"; in response to the engineering platform detecting the submission of source code, the card status is automatically set to "Under Development"; in response to the engineering platform detecting the triggering of the "Submit for Testing" button, the card status is automatically set to "Testing in Progress"; in response to the engineering platform detecting the completion of the testing phase of the project service, the card status is automatically set to "Test Completed"; and in response to the engineering platform detecting the execution of the online process for the project service, the card status is automatically set to "Online."
[0083] In one implementation, the acquisition module 701 is further configured to acquire the time of the first code branch pull from the engineering platform as the start time of development; acquire the time of the last review initiated from the engineering platform as the development completion time; acquire the time of the project service going live from the engineering platform as the start time of going live; and acquire the time of the project service going live from the engineering platform as the go-live completion time.
[0084] Regarding the apparatus disclosed above, the specific manner in which each module performs its operation has been described in detail in the embodiments of the method, and will not be elaborated upon here.
[0085] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0086] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0087] Figure 8 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0088] like Figure 8As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.
[0089] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0090] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above. For example, in some embodiments, the methods may be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the methods described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform methods by any other suitable means (e.g., by means of firmware).
[0091] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0092] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0093] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0094] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0095] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0096] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0097] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0098] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for launching a project service, comprising: Obtain the project service card corresponding to the project service, wherein the project service card is associated with the compiled source code corresponding to the project service; Based on the compiled source code, construct the pipeline process corresponding to the project service card; Based on the pipeline process, the project services are automatically tested, released, and deployed. The pipeline process for constructing the corresponding project service card based on the compiled source code includes: The compiled source code is parsed to obtain a service topology diagram, wherein the service topology diagram includes the pipeline process corresponding to the project service card; A pipeline process for automatically constructing the project service cards based on the service topology diagram.
2. The method according to claim 1, wherein, The pipeline process for constructing the corresponding project service card based on the compiled source code includes: If the compiled source code contains test cases for the project service, a first pipeline process is constructed. The first pipeline process includes a test process, a test admission process, a release process, and a deployment process corresponding to the test cases.
3. The method according to claim 1, wherein, The pipeline process for constructing the corresponding project service card based on the compiled source code includes: If the compiled source code does not include test cases for the project service, a second pipeline process is constructed, which includes a test admission process, a release process, and a deployment process.
4. The method according to claim 2, wherein the project service includes a retrieval service, and the test cases include consistency testing of retrieval results for high-frequency search terms; The high-frequency search terms are those whose search frequency exceeds a set threshold. The consistency of the search results includes the consistency between the test search results executed by the pipeline process and the benchmark search results obtained by running the search service.
5. The method according to any one of claims 1 to 4, wherein the project service card is set with a card status, and the card status is an automatically set status by the engineering platform executing the project service based on the flow status of the project service card.
6. According to the method described in claim 5, the engineering platform executing the project service automatically sets the status based on the flow status of the project service card in the following manner: In response to the engineering platform detecting that the project service card has been created, the card status of the project service card is automatically set to the pending development state. In response to the engineering platform detecting that the source code has been submitted, the status of the project service card is automatically set to "Under Development". In response to the engineering platform detecting that the test button has been triggered, the card status of the project service card is automatically set to the test status; In response to the engineering platform detecting that the project service has completed the testing phase, the card status of the project service card is automatically set to the test completed status; In response to the engineering platform detecting that the project service is going online, the card status of the project service card is automatically set to online.
7. The method according to claim 6, further comprising: The time of the first code branch pull from the engineering platform is used as the starting point for development. The time of the last review initiated is obtained from the engineering platform and used as the development completion time. Obtain the start time of the project service from the engineering platform, and use it as the start time point; The time when the project service ended and went online is obtained from the engineering platform and used as the time point of completion of the online service.
8. An apparatus for launching project services, comprising: The acquisition module is used to acquire the project service card corresponding to the project service, and the project service card is associated with the compiled source code corresponding to the project service. A build module is used to construct a pipeline process corresponding to the project service card based on the compiled source code; The processing module is used to automatically perform test approval, release, and deployment of the project service based on the pipeline process. The building module constructs the pipeline process corresponding to the project service card based on the compiled source code in the following manner: The compiled source code is parsed to obtain a service topology diagram, wherein the service topology diagram includes the pipeline process corresponding to the project service card; A pipeline process for automatically constructing the project service cards based on the service topology diagram.
9. The apparatus according to claim 8, The construction module is specifically used to construct a first pipeline process if the compiled source code contains test cases for the project service. The first pipeline process includes a test process, a test admission process, a release process, and a deployment process corresponding to the test cases.
10. The apparatus according to claim 8, The construction module is further configured to construct a second pipeline process if the compiled source code does not include test cases for the project service. The second pipeline process includes a test admission process, a release process, and a deployment process.
11. The apparatus according to claim 9, wherein the project service includes a retrieval service, and the test cases include a high-frequency search term retrieval result consistency test; the high-frequency search term is a search term whose retrieval frequency exceeds a set threshold; the retrieval result consistency includes the consistency between the test retrieval results executed by the pipeline process and the baseline retrieval results obtained by running the retrieval service.
12. The apparatus according to any one of claims 8 to 11, wherein the project service card is configured with a card state, the card state being an automatically set state by the engineering platform executing the project service based on the flow status of the project service card.
13. The apparatus according to claim 12, wherein the engineering platform executing the project service automatically sets the status based on the flow status of the project service card in the following manner: In response to the engineering platform detecting that the project service card has been created, the card status of the project service card is automatically set to the pending development state. In response to the engineering platform detecting that the source code has been submitted, the status of the project service card is automatically set to "Under Development". In response to the engineering platform detecting that the test button has been triggered, the card status of the project service card is automatically set to the test status; In response to the engineering platform detecting that the project service has completed the testing phase, the card status of the project service card is automatically set to the test completed status; In response to the engineering platform detecting that the project service is going online, the card status of the project service card is automatically set to online.
14. The apparatus of claim 13, further comprising: The acquisition module is also used to acquire the time of the first code branch pull from the engineering platform as the time point for starting development; The last time a review was initiated is obtained from the engineering platform as the development completion time; the time when the project service started going live is obtained from the engineering platform as the start-up time; and the time when the project service ended going live is obtained from the engineering platform as the go-live completion time.
15. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.
16. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-7.
17. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-7.