CN113296945A - Continuous integration method, system, equipment and computer readable storage medium - Google Patents

Continuous integration method, system, equipment and computer readable storage medium Download PDF

Info

Publication number
CN113296945A
CN113296945A CN202110552101.XA CN202110552101A CN113296945A CN 113296945 A CN113296945 A CN 113296945A CN 202110552101 A CN202110552101 A CN 202110552101A CN 113296945 A CN113296945 A CN 113296945A
Authority
CN
China
Prior art keywords
code
resource
target
resource information
idle
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
CN202110552101.XA
Other languages
Chinese (zh)
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202110552101.XA priority Critical patent/CN113296945A/en
Publication of CN113296945A publication Critical patent/CN113296945A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The application discloses a continuous integration method, which comprises the steps of obtaining resource information configured for continuous integration; determining the idle time length of the resource information; and continuously integrating the target code based on the resource information and the idle time to obtain a code test result. In the method and the device, after the resource information is acquired, the idle time of the resource information is determined, so that the time length for which the resource information can be used, namely the limited condition of the resource information, can be obtained, and thus, if the target code is continuously integrated based on the resource information and the idle time, the continuous integration can be performed according to the limited condition of the resource information, the continuous integration under the condition that the resource is limited can be avoided, and the performance of the continuous integration is improved. The application provides a continuous integration system, equipment and a computer readable storage medium, which also solve the corresponding technical problems.

Description

Continuous integration method, system, equipment and computer readable storage medium
Technical Field
The present application relates to the field of software development technologies, and more particularly, to a persistent integration method, system, device, and computer-readable storage medium.
Background
Currently, with Continuous and intense software competition, the development rate of software is required to be faster and faster, and in order to develop software quickly, software development can be performed based on a Continuous Integration (CI) method, which is to say, automatic construction, deployment, testing and release are triggered after each code submission, so as to quickly find and feed back problems occurring in the code. However, due to the limitation of resource information, the code test is not successful, and at this time, the code verification time needs to be defined, and a round of test is performed on all code entries between the last verification time and the current verification time to find the code problem.
However, the code verification method is easy to generate code collision, and when a code problem occurs, the corresponding code information cannot be determined, so that the performance of the continuous integration method is poor.
In view of the above, how to improve the performance of the persistent integration method is a problem to be solved by those skilled in the art.
Disclosure of Invention
The present application aims to provide a persistent integration method, which can solve the technical problem of how to improve the performance of the persistent integration method to a certain extent. The application also provides a continuous integration system, a device and a computer readable storage medium.
In order to achieve the above purpose, the present application provides the following technical solutions:
a method of persistent integration, comprising:
acquiring resource information configured for continuous integration;
determining the idle time of the resource information;
and continuously integrating the target code based on the resource information and the idle time to obtain a code test result.
Preferably, the continuously integrating the object code based on the resource information and the idle information includes:
determining target resources and resource occupation duration needed by the target code;
judging whether the resource occupation time length is less than or equal to the idle time length corresponding to the target resource or not;
and if the resource occupation duration is less than or equal to the idle duration corresponding to the target resource, continuously integrating the target code based on the target resource.
Preferably, the determining the target resource type and the resource occupation duration required by the target code includes:
determining the required target resource based on the pre-marked resource dependency label of the target code;
determining the resource occupation duration of the target resource by the target code.
Preferably, after the continuously integrating the target code based on the resource information and the idle duration, the method further includes:
determining the occupation duration of the target code on the resource information;
updating the idle duration based on the occupancy duration.
Preferably, before continuously integrating the target code based on the resource information and the idle duration, the method further includes:
and polling a preset code queue from beginning to end, and taking the first code which is not finished with continuous integration as the target code.
Preferably, before continuously integrating the target code based on the resource information and the idle duration, the method further includes:
merging the first code and the subsequent codes which are not finished with continuous integration in a preset code queue into the target code;
after the target code is continuously integrated based on the resource information and the idle time to obtain a code test result, the method further comprises the following steps:
judging whether the code test result represents a code error or not;
and if the code test result represents that the code is wrong, positioning the wrong code in the target code based on a dichotomy.
Preferably, the process of continuously integrating the target code based on the resource information and the idle duration includes:
a global variable is created that identifies a persistent integration progress of the object code.
A continuously integrated system, comprising:
the device comprises a first acquisition module, a second acquisition module and a processing module, wherein the first acquisition module is used for acquiring resource information configured for continuous integration;
the first determining module is used for determining the idle time of the resource information;
and the first testing module is used for continuously integrating the target code based on the resource information and the idle time length to obtain a code testing result.
A continuously integrated device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the persistent integration method as described in any one of the above when executing the computer program.
A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the persistent integration method as set forth in any one of the preceding claims.
According to the continuous integration method, resource information configured for continuous integration is acquired; determining the idle time length of the resource information; and continuously integrating the target code based on the resource information and the idle time to obtain a code test result. In the method and the device, after the resource information is acquired, the idle time of the resource information is determined, so that the time length for which the resource information can be used, namely the limited condition of the resource information, can be obtained, and thus, if the target code is continuously integrated based on the resource information and the idle time, the continuous integration can be performed according to the limited condition of the resource information, the continuous integration under the condition that the resource is limited can be avoided, and the performance of the continuous integration is improved. The application provides a continuous integration system, equipment and a computer readable storage medium, which also solve the corresponding technical problems.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a flowchart of a persistent integration method provided in an embodiment of the present application;
FIG. 2 is a schematic diagram of a process for continuous integration;
FIG. 3 is a diagram of the relationship between code and test set, generation environment, and hardware;
fig. 4 is a schematic structural diagram of a persistent integration system according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a persistent integration apparatus provided in an embodiment of the present application;
fig. 6 is another schematic structural diagram of a persistent integration apparatus according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Referring to fig. 1, fig. 1 is a flowchart illustrating a persistent integration method according to an embodiment of the present disclosure.
The continuous integration method provided by the embodiment of the application can comprise the following steps:
step S101: resource information configured for persistent integration is obtained.
In practical application, the resource information configured for persistent integration may be obtained first, and the type of the resource information may be determined according to actual needs, for example, the resource information may be corresponding information of a generation environment, a general environment, and specific hardware, and the information may include IP information, login information, an environment type, and the like.
Step S102: and determining the idle time length of the resource information.
In practical application, after the resource information configured for persistent integration is acquired, the idle time of the resource information can be determined, and it is understood that if the idle time is zero, the resource becomes a limited resource for persistent integration, so that the limited resource in the resource information can be determined according to the idle time, so as to avoid a corresponding persistent integration process of the resource.
It should be noted that, in a specific application scenario, an identifier representing whether each type of resource information is idle may be set in advance, so that whether resources are idle may be quickly determined through the identifier; and can be the identifier of whether the resource is occupied at this time, so as to quickly determine whether the resource is occupied through the identifier, and the like.
Step S103: and continuously integrating the target code based on the resource information and the idle time to obtain a code test result.
In practical application, after the resource information is acquired and the idle time length is determined, the target code can be continuously integrated based on the resource information and the idle time length to obtain a code test result, so that continuous integration of application-limited resources is avoided, and the performance of continuous integration is improved.
It should be noted that the process of continuous integration may be as shown in fig. 2, where after the developer end submits the code, the continuous integration system scans the code, the developer end is notified of modification and adaptation if the scanning fails, the construction is triggered if the scanning succeeds, the production environment is compiled, the unit test is triggered if the compiling succeeds, and the developer end is notified of modification if the compiling succeeds; if the unit test fails, informing a developer end to modify, if the unit test passes, allowing the codes to be merged into the functional branch warehouse, and triggering the production version to prepare for system test; the production version is automatically deployed in the environment, meanwhile, the system test is triggered, if the system test is successful, the code is allowed to be merged into the trunk, and the test passing version is packed and filed to the version warehouse; and after the system test is finished, whether the system test is successful or not is triggered to release a report, the found problems are fed back to the developer end to be modified, and the complete test result is notified to the manager end to make a decision.
According to the continuous integration method, resource information configured for continuous integration is acquired; determining the idle time length of the resource information; and continuously integrating the target code based on the resource information and the idle time to obtain a code test result. In the method and the device, after the resource information is acquired, the idle time of the resource information is determined, so that the time length for which the resource information can be used, namely the limited condition of the resource information, can be obtained, and thus, if the target code is continuously integrated based on the resource information and the idle time, the continuous integration can be performed according to the limited condition of the resource information, the continuous integration under the condition that the resource is limited can be avoided, and the performance of the continuous integration is improved.
In the continuous integration method provided by the embodiment of the application, in the process of continuously integrating the target code based on the resource information and the idle information, because the idle time of the resource information is known, the target resource and the resource occupation time required by the target code can be determined; judging whether the resource occupation time length is less than or equal to the idle time length corresponding to the target resource or not; if the resource occupation duration is less than or equal to the idle duration corresponding to the target resource, continuously integrating the target code based on the target resource; and if the resource occupation duration is longer than the idle duration corresponding to the target resource, continuously integrating the target code after waiting for the next time.
In the persistent integration method provided by the embodiment of the application, when the type and the occupied duration of the target resource required by the target code are determined, the required target resource can be determined based on the pre-marked resource dependence tag of the target code; and determining the resource occupation duration of the target resource by the target code. That is, a resource dependency label may be preset for the target code to determine the required resource by using the resource dependency label, for example, the resource dependency label may be a resource label that the target resource needs to depend on in each link of code scanning, compiling, unit testing, and system testing. In addition, in the process of determining the resource occupation duration of the target code on the target resource, the continuous integration condition of the historical code can be counted, and the consumption time of code scanning, compiling, unit testing and system testing is marked so as to quickly determine the resource occupation duration and the like based on the consumption time.
In the persistent integration method provided by the embodiment of the application, after the target code is continuously integrated based on the resource information and the idle time, in order not to influence the next persistent integration of the code, the occupation time of the target code on the resource information can be determined; the idle duration is updated based on the occupancy duration.
In the persistent integration method provided by the embodiment of the application, before the target code is continuously integrated based on the resource information and the idle time, in the process of selecting the target code, the preset code queue can be polled from beginning to end, and the first code which does not finish the continuous integration is taken as the target code.
Such as persistent head-to-tail polling of commit codes in a code queue by the persistent integration system when polling to commit code Vn+1If the submission is not carried out with the compiling test, searching the idle universal resource in the resource information, if the idle resource exists, carrying out limited comparison on the occupied time of the testing resource and the idle time of the resource, if the occupied time of the resource is less than the idle time of the resource, modifying the idle mark into an occupied state, informing the running of the compiling test program through an instruction, and then, starting to verify a code queue from the head (submission Vn) by the continuous integration system for polling so as to determine the next code and the like which need to be continuously integrated. For example, when the persistent integration system polls the submitted code Vn, it finds that the submitted code is not tested by the unit test and the system test, different codes correspond to different test sets for the unit test and the system test, the persistent integration system searches the environment and hardware resources depending on the different test sets, finds whether the available production environment and the dependent specific hardware are idle, then drives the test program to perform corresponding test, and when the test is completed and the persistent integration system receives the message, the submitted code is merged into the persistent integration systemAnd the branch warehouse is used for continuously integrating the system and submitting the system to the main warehouse after the system is tested by polling. In this process, the relationship between the code and the test set, the generation environment, the hardware may be as shown in fig. 3, and so on.
Of course, before the target code is continuously integrated based on the resource information and the idle time, in the process of selecting the target code, the first code and the following codes which are not continuously integrated in the preset code queue can be combined into the target code; correspondingly, after the target code is continuously integrated based on the resource information and the idle time to obtain a code test result, whether the code test result represents a code error or not can be judged in order to determine a corresponding error code; and if the code test result represents that the code is wrong, positioning the wrong code in the target code based on the dichotomy.
For example, if the ID of the submitted code that passes all tests at the earliest time is Vn, the persistent integration system may be selected from Vn+1Starting to merge the submitted codes, and taking the merged latest submitted code, such as V, when the integrated system is idle after mergingn+20And testing, wherein the testing of the continuous integrated system needs to drive all test sets to carry out full coverage testing, if the testing is passed, all submitted codes are directly merged into the branch warehouse and the main warehouse, and if the submitted codes V aren+20If the test fails, the test is switched to Vn+10Carry out the full coverage test, Vn+10If the test is successful, the test is switched to Vn+15Test was carried out, Vn+15Fail to switch to Vn+12Test was carried out, Vn+12Test V if failuren+11To find the first error code in all the series of submission code queues by dichotomy.
It should be noted that, in practical application, the two methods of the present embodiment may be flexibly applied to select the target code according to needs.
In the persistent integration method provided by the embodiment of the application, in the process of continuously integrating the object code based on the resource information and the idle duration, in order to quickly determine the persistent integration progress of the object code, a global variable identifying the persistent integration progress of the object code may also be created, for example, the global variable represents that the object code is in a scanning stage, a compiling stage, a unit testing stage, and the like. And in order to identify different object codes, code identification and the like can also be set for the object codes.
Referring to fig. 4, fig. 4 is a schematic structural diagram of a persistent integration system according to an embodiment of the present disclosure.
The continuous integration system provided by the embodiment of the application can comprise:
a first obtaining module 101, configured to obtain resource information configured for persistent integration;
a first determining module 102, configured to determine an idle duration of the resource information;
the first testing module 103 is configured to continuously integrate the target code based on the resource information and the idle duration to obtain a code testing result.
In an embodiment of the present application, a continuous integration system, a first test module may include:
the first determining unit is used for determining target resources and resource occupation duration required by the target code;
the first judgment unit is used for judging whether the resource occupation time length is less than or equal to the idle time length corresponding to the target resource; and if the resource occupation duration is less than or equal to the idle duration corresponding to the target resource, continuously integrating the target code based on the target resource.
In the persistent integration system provided in the embodiment of the present application, the first determining unit may specifically be configured to: determining a required target resource based on a resource dependency label of a pre-marked target code; and determining the resource occupation duration of the target resource by the target code.
The continuous integration system provided by the embodiment of the application can further include:
the second determination module is used for determining the occupation duration of the target code to the resource information after the first test module continuously integrates the target code based on the resource information and the idle duration;
and the first updating module is used for updating the idle time length based on the occupied time length.
The continuous integration system provided by the embodiment of the application can further include:
and the first selection module is used for polling the preset code queue from beginning to end before the first test module continuously integrates the target code based on the resource information and the idle time, and taking the first code which is not continuously integrated as the target code.
The continuous integration system provided by the embodiment of the application can further include:
the second selection module is used for merging the first code which is not continuously integrated and the subsequent code in the preset code queue into the target code before the first test module continuously integrates the target code based on the resource information and the idle time;
the first judgment module is used for continuously integrating the target code by the first test module based on the resource information and the idle time length to judge whether the code test result represents a code error or not after the code test result is obtained; and if the code test result represents that the code is wrong, positioning the wrong code in the target code based on the dichotomy.
In an embodiment of the present application, the first testing module may further include:
a first creating unit for creating a global variable identifying a continuous integration progress of the object code.
The application also provides continuous integration equipment and a computer readable storage medium, which have corresponding effects of the continuous integration method provided by the embodiment of the application. Referring to fig. 5, fig. 5 is a schematic structural diagram of a persistent integration apparatus according to an embodiment of the present disclosure.
The continuous integration device provided by the embodiment of the application comprises a memory 201 and a processor 202, wherein a computer program is stored in the memory 201, and the processor 202 implements the following steps when executing the computer program:
acquiring resource information configured for continuous integration;
determining the idle time length of the resource information;
and continuously integrating the target code based on the resource information and the idle time to obtain a code test result.
The continuous integration device provided by the embodiment of the application comprises a memory 201 and a processor 202, wherein a computer program is stored in the memory 201, and the processor 202 implements the following steps when executing the computer program: determining target resources and resource occupation duration required by target codes; judging whether the resource occupation time length is less than or equal to the idle time length corresponding to the target resource or not; and if the resource occupation duration is less than or equal to the idle duration corresponding to the target resource, continuously integrating the target code based on the target resource.
The continuous integration device provided by the embodiment of the application comprises a memory 201 and a processor 202, wherein a computer program is stored in the memory 201, and the processor 202 implements the following steps when executing the computer program: determining a required target resource based on a resource dependency label of a pre-marked target code;
and determining the resource occupation duration of the target resource by the target code.
The continuous integration device provided by the embodiment of the application comprises a memory 201 and a processor 202, wherein a computer program is stored in the memory 201, and the processor 202 implements the following steps when executing the computer program: after continuously integrating the target code based on the resource information and the idle time, determining the occupation time of the target code on the resource information; the idle duration is updated based on the occupancy duration.
The continuous integration device provided by the embodiment of the application comprises a memory 201 and a processor 202, wherein a computer program is stored in the memory 201, and the processor 202 implements the following steps when executing the computer program: before continuously integrating the target codes based on the resource information and the idle time, polling a preset code queue from beginning to end, and taking the first code which does not finish continuous integration as the target code.
The continuous integration device provided by the embodiment of the application comprises a memory 201 and a processor 202, wherein a computer program is stored in the memory 201, and the processor 202 implements the following steps when executing the computer program: before continuously integrating the target codes based on the resource information and the idle time, merging the first codes and the following codes which are not continuously integrated in a preset code queue into the target codes; continuously integrating the target code based on the resource information and the idle time to obtain a code test result, and then judging whether the code test result represents a code error; and if the code test result represents that the code is wrong, positioning the wrong code in the target code based on the dichotomy.
The continuous integration device provided by the embodiment of the application comprises a memory 201 and a processor 202, wherein a computer program is stored in the memory 201, and the processor 202 implements the following steps when executing the computer program: a global variable is created that identifies the continued integration progress of the object code.
Referring to fig. 6, another persistent integration device provided in the embodiment of the present application may further include: an input port 203 connected to the processor 202, for transmitting externally input commands to the processor 202; a display unit 204 connected to the processor 202, for displaying the processing result of the processor 202 to the outside; and the communication module 205 is connected with the processor 202 and is used for realizing the communication between the continuous integration device and the outside world. The display unit 204 may be a display panel, a laser scanning display, or the like; the communication method adopted by the communication module 205 includes, but is not limited to, mobile high definition link technology (HML), Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), and wireless connection: wireless fidelity technology (WiFi), bluetooth communication technology, bluetooth low energy communication technology, ieee802.11s based communication technology.
A computer-readable storage medium is provided in an embodiment of the present application, in which a computer program is stored, and when the computer program is executed by a processor, the computer program implements the following steps:
acquiring resource information configured for continuous integration;
determining the idle time length of the resource information;
and continuously integrating the target code based on the resource information and the idle time to obtain a code test result.
A computer-readable storage medium is provided in an embodiment of the present application, in which a computer program is stored, and when the computer program is executed by a processor, the computer program implements the following steps: determining target resources and resource occupation duration required by target codes; judging whether the resource occupation time length is less than or equal to the idle time length corresponding to the target resource or not; and if the resource occupation duration is less than or equal to the idle duration corresponding to the target resource, continuously integrating the target code based on the target resource.
A computer-readable storage medium is provided in an embodiment of the present application, in which a computer program is stored, and when the computer program is executed by a processor, the computer program implements the following steps: determining a required target resource based on a resource dependency label of a pre-marked target code; and determining the resource occupation duration of the target resource by the target code.
A computer-readable storage medium is provided in an embodiment of the present application, in which a computer program is stored, and when the computer program is executed by a processor, the computer program implements the following steps: after continuously integrating the target code based on the resource information and the idle time, determining the occupation time of the target code on the resource information; the idle duration is updated based on the occupancy duration.
A computer-readable storage medium is provided in an embodiment of the present application, in which a computer program is stored, and when the computer program is executed by a processor, the computer program implements the following steps: before continuously integrating the target codes based on the resource information and the idle time, polling a preset code queue from beginning to end, and taking the first code which does not finish continuous integration as the target code.
A computer-readable storage medium is provided in an embodiment of the present application, in which a computer program is stored, and when the computer program is executed by a processor, the computer program implements the following steps: before continuously integrating the target codes based on the resource information and the idle time, merging the first codes and the following codes which are not continuously integrated in a preset code queue into the target codes; continuously integrating the target code based on the resource information and the idle time to obtain a code test result, and then judging whether the code test result represents a code error; and if the code test result represents that the code is wrong, positioning the wrong code in the target code based on the dichotomy.
A computer-readable storage medium is provided in an embodiment of the present application, in which a computer program is stored, and when the computer program is executed by a processor, the computer program implements the following steps: a global variable is created that identifies the continued integration progress of the object code.
The computer-readable storage media to which this application relates include Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage media known in the art.
For a description of a relevant part in a persistent integration system, a device and a computer-readable storage medium provided in the embodiments of the present application, refer to a detailed description of a corresponding part in a persistent integration method provided in the embodiments of the present application, and are not described herein again. In addition, parts of the above technical solutions provided in the embodiments of the present application, which are consistent with the implementation principles of corresponding technical solutions in the prior art, are not described in detail so as to avoid redundant description.
It is further noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A method of persistent integration, comprising:
acquiring resource information configured for continuous integration;
determining the idle time of the resource information;
and continuously integrating the target code based on the resource information and the idle time to obtain a code test result.
2. The method of claim 1, wherein the continuously integrating object code based on the resource information and the idle information comprises:
determining target resources and resource occupation duration needed by the target code;
judging whether the resource occupation time length is less than or equal to the idle time length corresponding to the target resource or not;
and if the resource occupation duration is less than or equal to the idle duration corresponding to the target resource, continuously integrating the target code based on the target resource.
3. The method of claim 2, wherein the determining the target resource type and the resource occupancy duration required by the target code comprises:
determining the required target resource based on the pre-marked resource dependency label of the target code;
determining the resource occupation duration of the target resource by the target code.
4. The method of claim 1, wherein after the continuously integrating the object code based on the resource information and the idle duration, further comprising:
determining the occupation duration of the target code on the resource information;
updating the idle duration based on the occupancy duration.
5. The method of claim 1, wherein before the continuously integrating the object code based on the resource information and the idle duration, further comprising:
and polling a preset code queue from beginning to end, and taking the first code which is not finished with continuous integration as the target code.
6. The method of claim 1, wherein before the continuously integrating the object code based on the resource information and the idle duration, further comprising:
merging the first code and the subsequent codes which are not finished with continuous integration in a preset code queue into the target code;
after the target code is continuously integrated based on the resource information and the idle time to obtain a code test result, the method further comprises the following steps:
judging whether the code test result represents a code error or not;
and if the code test result represents that the code is wrong, positioning the wrong code in the target code based on a dichotomy.
7. The method according to any one of claims 1 to 6, wherein the continuously integrating the object code based on the resource information and the idle time period comprises:
a global variable is created that identifies a persistent integration progress of the object code.
8. A persistent integration system, comprising:
the device comprises a first acquisition module, a second acquisition module and a processing module, wherein the first acquisition module is used for acquiring resource information configured for continuous integration;
the first determining module is used for determining the idle time of the resource information;
and the first testing module is used for continuously integrating the target code based on the resource information and the idle time length to obtain a code testing result.
9. A continuously integrated device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the persistent integration method as claimed in any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the persistent integration method according to any one of claims 1 to 7.
CN202110552101.XA 2021-05-20 2021-05-20 Continuous integration method, system, equipment and computer readable storage medium Pending CN113296945A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110552101.XA CN113296945A (en) 2021-05-20 2021-05-20 Continuous integration method, system, equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110552101.XA CN113296945A (en) 2021-05-20 2021-05-20 Continuous integration method, system, equipment and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN113296945A true CN113296945A (en) 2021-08-24

Family

ID=77323122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110552101.XA Pending CN113296945A (en) 2021-05-20 2021-05-20 Continuous integration method, system, equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN113296945A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117149665A (en) * 2023-10-31 2023-12-01 芯瞳半导体技术(山东)有限公司 Continuous integration method, control device, continuous integration system, and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035938A (en) * 2013-03-07 2014-09-10 阿里巴巴集团控股有限公司 Performance continuous integration data processing method and device
US20170039126A1 (en) * 2015-08-06 2017-02-09 Paypal, Inc. Scalable continuous integration and delivery systems and methods
WO2018116460A1 (en) * 2016-12-22 2018-06-28 株式会社日立製作所 Continuous integration system and resource control method
CN108270837A (en) * 2017-01-04 2018-07-10 北京京东尚科信息技术有限公司 A kind of distributed task dispatching method and system using slack resources
CN111580802A (en) * 2020-04-30 2020-08-25 完美世界(北京)软件科技发展有限公司 Continuous integration method, continuous integration method and system based on distributed compilation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035938A (en) * 2013-03-07 2014-09-10 阿里巴巴集团控股有限公司 Performance continuous integration data processing method and device
US20170039126A1 (en) * 2015-08-06 2017-02-09 Paypal, Inc. Scalable continuous integration and delivery systems and methods
WO2018116460A1 (en) * 2016-12-22 2018-06-28 株式会社日立製作所 Continuous integration system and resource control method
CN108270837A (en) * 2017-01-04 2018-07-10 北京京东尚科信息技术有限公司 A kind of distributed task dispatching method and system using slack resources
CN111580802A (en) * 2020-04-30 2020-08-25 完美世界(北京)软件科技发展有限公司 Continuous integration method, continuous integration method and system based on distributed compilation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117149665A (en) * 2023-10-31 2023-12-01 芯瞳半导体技术(山东)有限公司 Continuous integration method, control device, continuous integration system, and storage medium
CN117149665B (en) * 2023-10-31 2024-02-20 芯瞳半导体技术(山东)有限公司 Continuous integration method, control device, continuous integration system, and storage medium

Similar Documents

Publication Publication Date Title
CN110221872B (en) Page jump method and device, electronic equipment and storage medium
CN109634837B (en) Automatic test method, device, equipment and storage medium
US10699036B2 (en) Method and system for testing vehicle
CN106802814B (en) Method and device for upgrading software version
CN110990339B (en) File read-write method, device and platform for distributed storage and readable storage medium
CN113254331A (en) Model test method, device, storage medium and program product
CN113296945A (en) Continuous integration method, system, equipment and computer readable storage medium
CN113133041B (en) Method and device for testing vehicle-to-vehicle communication function in dynamic interval train control vehicle
CN110297764B (en) Vulnerability test model training method and device
CN110262878B (en) Timed task processing method, device, equipment and computer readable storage medium
CN112034819B (en) Vehicle diagnosis method, vehicle diagnosis device and diagnosis equipment
CN109284137B (en) Hypervisor-based QNX operating system starting method and device
CN110825427A (en) Code management method, device, server and storage medium
US20120151440A1 (en) Software library reconstruction device, software library reconstruction method, and navigation device using this software library reconstruction method
CN111708348B (en) Diagnostic service test method, device, equipment and storage medium
CN111309627B (en) Method and system for preventing test conflict in software test
CN114327673A (en) Task starting method and device, electronic equipment and storage medium
CN114115826A (en) Code generation method, terminal and readable storage medium
CN112765041A (en) Game automatic testing method and device and electronic equipment
CN112559000A (en) Vehicle software updating method and device
CN114064449A (en) Simulation test report generation method and device, electronic equipment and storage medium
CN114153427A (en) Optimization method and system of continuous integration assembly line
CN105320512A (en) Method and device for distributing trunk permission
CN112988160B (en) Server compiling method, device, equipment and computer readable storage medium
CN114968787B (en) Method and device for testing based on node relation and electronic equipment

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210824