CN113760300B - Software continuous integration method, device, computer equipment and storage medium - Google Patents

Software continuous integration method, device, computer equipment and storage medium Download PDF

Info

Publication number
CN113760300B
CN113760300B CN202111068487.3A CN202111068487A CN113760300B CN 113760300 B CN113760300 B CN 113760300B CN 202111068487 A CN202111068487 A CN 202111068487A CN 113760300 B CN113760300 B CN 113760300B
Authority
CN
China
Prior art keywords
code
library file
processed
incremental
product
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111068487.3A
Other languages
Chinese (zh)
Other versions
CN113760300A (en
Inventor
江行军
王莹珑
董烈锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan United Imaging Zhirong Medical Technology Co Ltd
Original Assignee
Wuhan United Imaging Zhirong Medical Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan United Imaging Zhirong Medical Technology Co Ltd filed Critical Wuhan United Imaging Zhirong Medical Technology Co Ltd
Priority to CN202111068487.3A priority Critical patent/CN113760300B/en
Publication of CN113760300A publication Critical patent/CN113760300A/en
Application granted granted Critical
Publication of CN113760300B publication Critical patent/CN113760300B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/48Incremental compilation
    • 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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application relates to a method, a device, a computer device and a storage medium for continuously integrating software. The method comprises the following steps: determining a hierarchy of the code to be processed in response to receiving the code to be processed; if the hierarchy of the code to be processed is a frame layer, determining a first incremental library file according to the code to be processed, and continuously integrating the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products; if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating the second incremental library file, wherein the code of the application layer is used for realizing the application layer functions of a plurality of products, and when the latest frame library file of the frame layer receives the code to be processed, all the library files corresponding to the code in the frame layer. By adopting the method, the compiling time can be reduced, and the product development efficiency can be improved.

Description

Software continuous integration method, device, computer equipment and storage medium
Technical Field
The present application relates to the field of software development technologies, and in particular, to a method, an apparatus, a computer device, and a storage medium for continuously integrating software.
Background
With the development of software technology, the scale of software is larger and larger, more and more modules are contained, and the continuous integration of software is also more and more important in the software development process. The continuous integration of software means that codes are frequently integrated into a backbone and verified through automatic compiling, publishing, testing and the like so as to discover integration errors as soon as possible, thereby accelerating the development of software technology.
The existing software continuous integration method is used for modifying the code of a certain module in the software, triggering other modules relying on the module to participate in compiling together, and submitting the code to warehouse after the compiling is finished, so that a subsequent software continuous integration link is performed. Since all codes of other modules depending on a module need to be acquired and compiled together each time the code of the module is modified, the compiling is long. In addition, in the software development process, the code of each module needs to be repeatedly modified frequently, and the compiling time required for each modification is long, so that the software development efficiency is low.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a method, an apparatus, a computer device, and a storage medium for continuously integrating software, which can reduce the compiling time and improve the software development efficiency.
In a first aspect, the present application provides a method for continuously integrating software, the method comprising:
determining a hierarchy of a code to be processed in response to receiving the code to be processed;
if the hierarchy of the code to be processed is a frame layer, determining a first incremental library file according to the code to be processed, and continuously integrating based on the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products;
if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating the code to be processed based on the second incremental library file, wherein the code to be processed is used for realizing the application layer functions of the multiple products, and when the latest frame library file of the frame layer is the library file corresponding to all codes in the frame layer.
In one embodiment, the determining a first incremental library file according to the code to be processed, and continuously integrating based on the first incremental library file includes:
determining a frame solution to which the code to be processed belongs;
Compiling the code to be processed based on the frame solution, and determining a first incremental library file when compiling passes;
and synchronously deploying the first incremental library file to a continuous integration system of each product, and carrying out continuous integration of each product.
In one embodiment, the deploying the first incremental library file to the continuous integration system of each product synchronously, performing continuous integration of each product includes:
synchronously deploying the first incremental library file to a continuous integrated system of each product;
code scanning is carried out on the codes to be processed of each product;
performing unit detection on the full-quantity code of each product, wherein the full-quantity code of each product comprises codes in the first incremental library file;
UI automation testing is performed on the full-scale code for each product.
In one embodiment, the determining a second incremental library file from the latest frame library file and the pending code includes:
determining an application solution to which the code to be processed belongs;
compiling the code to be processed based on the latest frame library file of the frame layer and the application solution, and determining a second increment library file when the compiling passes.
In one embodiment, if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating based on the second incremental library file, including:
if the hierarchy of the code to be processed is a basic application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed;
and synchronously deploying the second incremental library file to a continuous integration system of each product, and carrying out continuous integration of each product.
In one embodiment, the deploying the second incremental library file to the continuous integration system of each product synchronously, performing continuous integration of each product includes:
synchronously deploying the second incremental library file to a continuous integrated system of each product;
code scanning is carried out on the codes to be processed of each product;
performing unit detection on the full-quantity codes of each product;
UI automation testing is performed on the full-scale code for each product.
In one embodiment, if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating based on the second incremental library file, including:
If the hierarchy of the code to be processed is an advanced application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed;
and if the target products corresponding to the codes to be processed exist in the products, deploying the second incremental library file to a continuous integration system of the target products, and carrying out continuous integration of the target products.
In one embodiment, the deploying the second incremental library file to the persistent integration system of the target product, performing persistent integration of the target product, includes:
deploying the second incremental library file to a continuous integrated system of the target product;
code scanning is carried out on the code to be processed of the target product;
performing unit detection on the full code of the target product;
and carrying out UI automatic test on the full code of the target product.
In one embodiment, if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating based on the second incremental library file, and further including:
If the hierarchy of the code to be processed is an advanced application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed;
if the target product corresponding to the code to be processed does not exist in the products, a continuous integrated system of the newly added product is built;
and deploying the second incremental library file, the latest framework library file of the framework layer and the latest basic application library file of the basic application layer to a continuous integration system of the new product, and carrying out continuous integration of the new product.
In a second aspect, the present application provides a software persistence integrated apparatus, the apparatus comprising:
the hierarchy determining module is used for determining the hierarchy of the code to be processed in response to receiving the code to be processed;
the first continuous integration module is used for determining a first incremental library file according to the code to be processed if the level of the code to be processed is a frame layer, and continuously integrating the code based on the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products;
and the second continuous integration module is used for determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed if the level of the code to be processed is an application layer, and continuously integrating the code to be processed based on the second incremental library file, wherein the code of the application layer is used for realizing the application layer functions of the plurality of products, and the latest frame library file of the frame layer is the library file corresponding to all codes in the frame layer when the code to be processed is received.
In a third aspect, the present application provides a computer device comprising a memory storing a computer program and a processor implementing the following steps when executing the computer program:
determining a hierarchy of a code to be processed in response to receiving the code to be processed;
if the hierarchy of the code to be processed is a frame layer, determining a first incremental library file according to the code to be processed, and continuously integrating based on the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products;
if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating the code to be processed based on the second incremental library file, wherein the code to be processed is used for realizing the application layer functions of the multiple products, and when the latest frame library file of the frame layer is the library file corresponding to all codes in the frame layer.
In a fourth aspect, the present application provides a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
Determining a hierarchy of a code to be processed in response to receiving the code to be processed;
if the hierarchy of the code to be processed is a frame layer, determining a first incremental library file according to the code to be processed, and continuously integrating based on the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products;
if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating the code to be processed based on the second incremental library file, wherein the code to be processed is used for realizing the application layer functions of the multiple products, and when the latest frame library file of the frame layer is the library file corresponding to all codes in the frame layer.
According to the continuous software integration method, the continuous software integration device, the continuous software integration computer equipment and the continuous software integration storage medium, functions are realized according to codes, codes of a plurality of developed products are subjected to architecture division in an engineering layer, the codes of the framework layer are used for realizing framework layer functions shared by a plurality of products, and the codes of the application layer are used for realizing application layer functions of the plurality of products; if the code to be processed belongs to the frame layer, incremental compiling is carried out on the code to be processed, when the incremental compiling is carried out on the code to be processed, all codes of the frame layer and the application layer do not need to be pulled to participate together, if the code to be processed belongs to the application layer, the latest frame library file is referenced, the incremental compiling is carried out on the code to be processed, and also all codes of the frame layer and the application layer do not need to be pulled to participate together, when the code to be processed is submitted into a library, compiling time is shortened, and because the code of a product is required to be frequently modified in the product development process, the compiling time required by submitting the code to be processed each time is shortened, the time required by compiling in the product development process can be greatly reduced, and the product development efficiency is improved.
Drawings
FIG. 1 is a flow chart of a method for continuously integrating software according to an embodiment of the present application;
FIG. 2 is a flow chart of the method for processing code as a frame layer code according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a framework layer, a base application layer, and a high-level application layer in one embodiment of the application;
FIG. 4 is a flow chart of the method for processing code as the code of the basic application layer according to an embodiment of the application;
FIG. 5 is a flow chart of the code to be processed in the embodiment of the application when the code is the code of the high-level application layer and is used for realizing the function of a target product;
FIG. 6 is a flow chart of the code to be processed in one embodiment of the present application when the code is the code of the high-level application layer and is used for implementing the function of another target product;
FIG. 7 is a block diagram of a software persistent integration device according to one embodiment of the present application;
fig. 8 is an internal structural view of a computer device according to an embodiment of the present application.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
In one embodiment, as shown in fig. 1, a method for continuously integrating software is provided, where the method is applied to a terminal for illustration, it is understood that the method may also be applied to a server, and may also be applied to a system including the terminal and the server, and implemented through interaction between the terminal and the server. In this embodiment, the method includes the steps of:
step 101, in response to receiving a code to be processed, determining a hierarchy of the code to be processed.
The code to be processed is submitted by a developer in the process of developing the software product, the product can be a robot product, and if the code of the robot product is C++ code, the code to be processed is C++ code. The code to be processed can be a newly added code on the basis of keeping the original code unchanged, the newly added code can be used for newly adding functions for products, and the code to be processed can also be used for replacing the original code so as to realize the functions realized by the original code. In the development process of a product, developers frequently submit code to be processed.
Specifically, if the terminal receives a code to be processed submitted by a developer, determining the hierarchy of the code to be processed. The hierarchy is obtained by performing architecture division on codes of a plurality of products at an engineering level according to functions realized by the codes, and in the embodiment of the application, the hierarchy comprises a framework layer and an application layer.
Code of the frame layer is used for realizing a frame layer function shared by a plurality of products, such as a storage function, a communication function and the like of the products; the code of the application layer is used for realizing application layer functions of a plurality of products, such as a user-oriented function, a service processing function and the like.
By way of example, the plurality of products includes: a, a 1 ,a 2 ,…,a n N is the number of products, for example, n is equal to 5, or n is equal to 10. Wherein the code of the framework layer is used for realizing a 1 ,a 2 ,…,a n Shared framework layer functionality, application layer code for implementing a 1 ,a 2 ,…,a n Is used for the application layer function of (a). In one embodiment, a 1 Is a neurosurgery robot (uBrain), a 2 Is a joint replacement surgery robot (uTHA), a 3 For interventional procedure navigation control system robots (uIN), the code of the frame layer is used to implement frame layer functions common to uBrain, uTHA and uIN, such as memory functions, communication functions, etc. of uBrain, uTHA and uIN, and the code of the application layer is used to implement application layer functions of uBrain, uTHA and uIN, such as robotic arm movement functions, image display functions, etc.
Step 102, if the hierarchy of the code to be processed is a frame layer, determining a first incremental library file according to the code to be processed, and performing continuous integration based on the first incremental library file.
The first incremental library file is a library file obtained by compiling a code to be processed belonging to a frame layer, and can be directly deployed to a continuous integration system of a product to continuously integrate the product.
Specifically, when the code to be processed belonging to the frame layer is submitted to the warehouse, all codes of the frame layer and the application layer do not need to be pulled to participate in compiling, only incremental compiling is needed to be carried out on the code to be processed, a first incremental library file is obtained after compiling is passed, and the time required by compiling is shortened. Continuous integration of a plurality of products is triggered based on the first delta library file.
After compiling, obtaining the latest frame library file of the frame layer, updating the latest frame library file based on the first incremental library file, and storing the updated latest frame library file in a designated path. The obtained latest frame library file is the library file of the frame layer when the code to be processed is received, and the library file of the frame layer comprises all codes of the frame layer.
And step 103, if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating based on the second incremental library file.
The second incremental library file is a library file obtained by compiling a code to be processed belonging to an application layer, and can be directly deployed to a continuous integration system of a product to continuously integrate the product. And if the hierarchy of the code to be processed is an application layer, acquiring a latest frame library file, wherein the latest frame library file is a library file corresponding to all codes in the frame layer when the code to be processed is received.
Specifically, when the code to be processed belonging to the application layer is submitted and put in storage, the frame layer and all codes of the application layer do not need to be pulled to participate in compiling together, only the latest frame library file of the frame layer needs to be referenced, incremental compiling is carried out on the code to be processed, a second incremental library file is obtained after compiling is carried out, and the compiling time is shortened. Continuous integration of the product is triggered based on the second delta library file.
In the continuous software integration method, according to the code implementation function, the codes of a plurality of developed products are subjected to architecture division in an engineering layer, wherein the codes of the framework layer are used for realizing framework layer functions shared by the plurality of products, and the codes of the application layer are used for realizing application layer functions of the plurality of products; if the code to be processed belongs to the frame layer, incremental compiling is carried out on the code to be processed, when the incremental compiling is carried out on the code to be processed, all codes of the frame layer and the application layer do not need to be pulled to participate together, if the code to be processed belongs to the application layer, the latest frame library file is referenced, the incremental compiling is carried out on the code to be processed, and also all codes of the frame layer and the application layer do not need to be pulled to participate together, when the code to be processed is submitted into a library, compiling time is shortened, and because the code of a product is required to be frequently modified in the product development process, the compiling time required by submitting the code to be processed each time is shortened, the time required by compiling in the product development process can be greatly reduced, and the product development efficiency is improved.
In one embodiment, step 102 includes:
step 201, determining a framework solution to which the code to be processed belongs.
Specifically, the code of the frame layer is divided into a plurality of solutions, the code of the frame layer is managed through the plurality of solutions, when the code to be processed is submitted to be put in storage, the solution of the code to be processed to the frame layer is determined, and the solution of the code to be processed is taken as the frame solution.
And 202, compiling the code to be processed based on the framework solution, and determining a first incremental library file when compiling passes.
Specifically, the code to be processed is a newly added code in the frame solution, or the code to be processed is used for replacing an original code in the frame solution, the modified frame solution is determined according to the code to be processed and the frame solution, incremental compiling is performed on the modified frame solution based on msbuild, after the compiling is passed, a first incremental library file is automatically extracted based on a python development script, the first incremental library file is a library file corresponding to the modified frame solution, and the msbuild is an automation platform with strong expansion capability.
That is, when the hierarchy of the code to be processed is a frame layer, all the codes of the frame layer do not need to be compiled, only the frame solution to which the code to be processed belongs needs to be determined, and the modified frame solution is compiled in an increment mode.
After the first incremental library file is obtained, the latest frame library file is updated according to the current latest frame library file and the first incremental library file, and the latest frame library file is stored in a designated path. The process of updating the latest frame library file according to the current latest frame library file and the first increment library file comprises the following steps: and acquiring the latest frame library file in the designated path, determining the library file of the frame solution in the latest frame library file, and replacing the library file of the frame solution with the first increment library file determined when compiling and passing, so as to update the latest frame library file.
And 203, synchronously deploying the first incremental library file to a continuous integration system of each product, and carrying out continuous integration of each product.
Specifically, since the code of the frame layer is used for realizing the function of the frame layer shared by a plurality of products, when the code of the frame layer is replaced or is newly added, the code equivalent to the plurality of products is modified, whether the plurality of products can be normally used after the code to be processed is submitted to warehouse entry needs to be detected, and continuous integration of the plurality of products is triggered.
In one embodiment, step 203 comprises:
step 301, synchronously deploying the first incremental library file to a continuous integrated system of each product.
Specifically, taking a product as an example, library files of a framework layer and an application layer of the product are already deployed in a continuous integrated system of the product, and the first incremental library file is deployed to the continuous integrated system of the product, so that the continuous integrated system of the product includes the first incremental library file. And deploying the first incremental library file to the continuous integrated system of the product, wherein the frame library file corresponding to the first incremental library file is replaced by the first incremental library file in the library files of the frame layer.
For example, the plurality of products includes: a, a 1 ,a 2, …,a n When the code to be processed belongs to the framework layer, synchronously deploying the first incremental library file to a 1 ,a 2 ,…,a n Is tested.
Step 302, code scanning is performed on the code to be processed of each product.
Specifically, the latest frame library file and the latest application library file of each product are deployed in the continuous integrated system of each product, wherein the latest application library file is the library file corresponding to all codes in the application layer when the codes to be processed are received, the latest frame library file of each product comprises a first increment library file, and the first increment library file comprises codes obtained after the codes to be processed are compiled. In the latest frame library file and the latest application library file of each product, only the code to be processed is the newly submitted code, so that only the code to be processed needs to be scanned, and the code scanning is used for scanning whether the code has quality problems. The code to be processed may be statically scanned based on a sonarqube, which is an open-source code quality management platform, and cppcheck, which is a static code inspection tool.
Step 303, performing unit detection on the full-quantity code of each product.
Specifically, the full-scale code of each product includes the code in the first delta library file. The continuous integrated system of each product is provided with a latest frame library file and a latest application library file of each product, wherein the full-quantity codes are codes of the latest frame library file and the latest application library file, and the full-quantity codes comprise codes of the first incremental library file because the latest frame library file comprises the first incremental library file. The unit detection is to detect whether each function of the product can be normally used after the code to be processed is put in storage, and the code unit detection is finished based on Gtest and MStest.
Step 304, UI automation test is performed on the full-scale code of each product.
Specifically, UI automation cases are uniformly placed in a version library, when UI automation tests are carried out on the full quantity codes of each product, test case scripts of the current version of each product are pulled in the version library according to configuration files of each product, and the UI automation tests are carried out by utilizing the test case scripts. UI automation testing may be implemented based on uiautomation, pywinauto, with uiautomation being a tool for automated testing provided under the microsoft. Net 3.0 framework, pywinauto being an automated testing tool for Python.
In one embodiment, code scanning is performed on the code to be processed of each product to obtain a code scanning result, unit detection is performed on the full-quantity code of each product to obtain a unit detection result, UI automatic test results are performed on the full-quantity code of each product, and the code scanning result, the unit detection result and the UI automatic test results can be visualized through charts.
In one particular embodiment, referring to fig. 2, for example, the plurality of products includes: neurosurgical robots (uBrain), joint replacement surgical robots (uTHA) and interventional procedure navigation control system robots (uIN). If the code to be processed belongs to a framework layer (framework), the software continuous integration method comprises the following steps:
s21, receiving a code to be processed, and determining the level of the code to be processed as a frame work;
s22, compiling the code to be processed based on a frame solution corresponding to the code to be processed, and obtaining a first incremental library file when compiling is passed;
s23, deploying the first incremental library file to a continuous integration system of uBrain, a continuous integration system of uTHA and a continuous integration system of uIN;
s24, scanning the code to be processed of uBrain, scanning the code to be processed of uTHA, and scanning the code to be processed of uIN;
S25, performing unit detection and UI automation test on the full-quantity code of uBrain, performing unit detection and UI automation test on the full-quantity code of uTHA, and performing unit detection and UI automation test on the full-quantity code of uIN.
In one embodiment, in step 103, determining a second incremental library file from the latest frame library file of the frame layer and the pending code includes:
step 401, determining an application solution to which the code to be processed belongs.
Specifically, the application layer code is divided into a plurality of solutions, the code of the application layer is managed through the plurality of solutions, when the code to be processed is submitted to be put in storage, the solution of the code to be processed to the application layer is determined, and the solution of the code to be processed is taken as the application solution.
And step 402, compiling the code to be processed based on the latest frame library file of the frame layer and the application solution, and determining a second incremental library file when the compiling passes.
Specifically, the code to be processed is a newly added code in the application solution, or the code to be processed is used for replacing the original code in the application solution, and the modified application solution is determined according to the code to be processed and the application solution; based on msbuild quotes the latest frame library file, incremental variables are carried out on the application solution, and after compiling is passed, a second incremental library file is automatically extracted based on the python development script, wherein the second incremental library file is a library file corresponding to the modified application solution.
In one embodiment, the application layers include a base application layer and a high-level application layer, the code of the base application layer being used to implement a base application function common to the plurality of products, and the code of the high-level application layer being used to implement a high-level application function of each of the plurality of products.
As shown in fig. 3, the code of a plurality of products is divided into a framework layer, a basic application layer and an advanced application layer at the engineering level, wherein the solid arrow in fig. 3 indicates that library files are acquired from a file server, the open arrow in fig. 3 indicates that library files compiled through the acquired framework layer are saved into the file server, the framework layer saves library files compiled through the acquired framework layer into the file server 1, the basic application layer saves library files compiled through the acquired basic application layer into the file server 2, and the advanced application layer saves library files compiled through the acquired advanced application layer into the file server 3; when compiling the code of the basic application layer, the library file of the framework layer is obtained from the file server 1, and when compiling the code of the advanced application layer, the library file of the framework layer is obtained from the file server 1.
For example, the plurality of products includes: a, a 1 ,a 2 ,a 3 Code of a basic application layer for realizing a 1 ,a 2 And a 3 Common basic application function, code of high-level application layer for realizing a 1 A) of the high-level application function of (a) 2 Advanced application functions of a) and a 3 Is provided. Suppose a 1 Is a neurosurgery robot, a 2 Is a joint replacement surgical robot, a 3 For interventional operation navigation control system robot, the basic application function is a 1 ,a 2 And a 3 All the functions can be used, for example, a mechanical arm moving function of a robot, a clamping function of the mechanical arm and an advanced application function are special functions of each surgical robot, such as a surgical incision planning function of a neurosurgery robot, an affected part accurate positioning function of a joint replacement surgical robot and an intervention guide wire real-time tracking function of an intervention operation navigation control system robot.
The application layers include a base application layer and a high-level application layer, and step 103 includes:
step 501, if the hierarchy of the code to be processed is a basic application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed;
and step 502, synchronously deploying the second incremental library file to a continuous integration system of each product, and carrying out continuous integration of each product.
In particular, the specific process of determining the second incremental library file in step 501 may be found in the description of step 401 and step 402.
Because the code of the basic application layer is used for realizing the basic application function shared by a plurality of products, when the code of the basic application layer is replaced or is newly added, the code equivalent to the plurality of products is modified, whether the plurality of products can be normally used after the code to be processed is submitted and put in storage is required to be detected, and the continuous integration of the plurality of products is triggered.
In one embodiment, step 502 includes:
step 601, synchronously deploying the second incremental library file to a continuous integrated system of each product.
Specifically, a product is taken as a reference to describe, library files of a framework layer and an application layer of the product are deployed in a continuous integrated system of the product, and the second incremental library file is deployed to the continuous integrated system of the product, so that the continuous integrated system of the product comprises the second incremental library file. And deploying the second incremental library file to the continuous integrated system of the product, wherein the application library file corresponding to the second incremental library file is replaced by the second incremental library file in the library files of the basic application layer.
For example, the product comprises a 1 ,a 2 And a 3 Synchronously deploying a second incremental library file to a 1 ,a 2 And a 3 Is tested.
At step 602, code scanning is performed on the code to be processed for each product.
Specifically, the latest framework library file and the latest application library file of each product are deployed in the continuous integrated system of each product, the latest application library file of each product comprises a second incremental library file, and the second incremental library file comprises a code to be processed. In the latest frame library file and the latest application library file of each product, only the code to be processed is the newly submitted code, so that only the code to be processed needs to be scanned, and the code scanning is used for scanning whether the code has quality problems. The code to be processed may be static scanned based on the sonarqube and cppcheck.
Step 603, performing unit detection on the full-quantity codes of each product.
Specifically, the code of each product includes the code of the second incremental library file. The full-size codes are the codes of the latest framework library file and the latest application library file, and the full-size codes comprise the codes of the second incremental library file because the latest application library file comprises the second incremental library file. The unit detection is to detect whether each function of the product can be normally used after the code to be processed is put in storage, and complete the code unit detection based on Gtest and MStest, wherein Gtest is an open source unit detection framework of google, and MStest is a unit detection framework of Visual Studio.
Step 604, UI automation test is performed on the full code of each product.
Specifically, the UI automation test is performed on the full-quantity code of each product in the same process as the UI automation test is performed on the full-quantity code of each product, and thus, the specific process of step 604 may be referred to the description of step 304.
In one particular embodiment, the plurality of products includes: neurosurgery robot (uBrain), joint replacement surgery robot (uTHA) and interventional surgery navigation control system robot (uIN) and medical imaging robot, if the code to be processed belongs to the basic application layer (basic cap), see fig. 4, the software continuous integration method comprises:
s31, receiving a code to be processed, and determining the level of the code to be processed as basic;
s32, compiling the code to be processed based on an application solution corresponding to the code to be processed and the latest frame library file, and obtaining a second incremental library file when the compiling is successful;
s33, deploying a second incremental library file to the continuous integration system of uBrain, the continuous integration system of uTHA and the continuous integration system of uIN;
s34, scanning the code to be processed of uBrain, scanning the code to be processed of uTHA, and scanning the code to be processed of uIN;
S35, performing unit detection and UI automation test on the full-quantity code of uBrain, performing unit detection and UI automation test on the full-quantity code of uTHA, and performing unit detection and UI automation test on the full-quantity code of uIN.
In one embodiment, the code of the advanced application layer is configured to implement advanced application functions of each of the plurality of products, step 103 includes:
step 701, if the hierarchy of the code to be processed is an advanced application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed;
and step 702, if a target product corresponding to the code to be processed exists in the products, deploying the second incremental library file to a continuous integration system of the target product, and performing continuous integration of the target product.
Specifically, the specific description of the second incremental library file determined in step 701 may be found in the description of step 401 and step 402.
Because the code of the advanced application layer is used for realizing the respective advanced application function of each product, when the code of the advanced application layer is replaced or there is a new addition, the code equivalent to only one product is modified, the target product corresponding to the code to be processed needs to be determined, and the continuous integration of the target product is triggered.
For example, the product comprises a 1 ,a 2 And a 3 ,a 1 Is a neurosurgery robot, a 2 Is a joint replacement surgical robot, a 3 For interventional operation navigation control system robot, if the target product corresponding to the code to be processed is a 1 Trigger pair a 1 If the target product corresponding to the code to be processed is a 2 Trigger pair a 2 If the target product corresponding to the code to be processed is a 3 Trigger pair a 3 Is a continuous integration of (a).
Specifically, after the code to be processed of the target product is required to be submitted and put in storage, whether the target product can be used normally or not is detected, continuous integration of the target product is triggered, and a second incremental library file is deployed to a continuous integration system of the target product for testing.
In one embodiment, step 703 includes:
step 801, deploying the second incremental library file to a continuous integrated system of the target product.
Specifically, library files of a framework layer and an application layer of the target product are deployed in a continuous integrated system of the target product, and the second incremental library files are deployed to the continuous integrated system of the target product, so that the second incremental library files are included in the target integrated system. And deploying the second incremental library file to the continuous integrated system of the target product, wherein the application library file corresponding to the second incremental library file is replaced by the second incremental library file in the library files of the application layer.
Step 802, code scanning is performed on the code to be processed of the target product.
Specifically, the process of scanning the code to be processed of the target product is the same as the process of scanning the code to be processed of each product, and thus, the specific process of step 802 may be described with reference to step 602.
And 803, performing unit detection on the full-quantity code of the target product.
Specifically, the code of the target product includes the code of the second incremental library file. The process of performing the unit detection on the full-quantity code of the target product is the same as the process of performing the unit detection on the full-quantity code of each product, and thus, the specific process of step 803 may be referred to the description of step 603.
And step 804, performing UI automatic test on the full code of the target product.
Specifically, the process of performing the UI automation test on the full-scale code of the target product is the same as the process of performing the UI automation test on the full-scale code of each product, and thus, the specific process of step 804 may be described with reference to step 604.
In one embodiment, referring to fig. 5, for example, if the code to be processed belongs to a high-level application layer (Seniorapp), the target product of the code to be processed is a neurosurgical robot (upain), and the software continuous integration method includes:
S41, receiving a code to be processed, and determining the level of the code to be processed as a Seniorapp;
s42, determining that a target product corresponding to the code to be processed is uBrain;
s43, compiling the code to be processed based on the application solution corresponding to the code to be processed and the latest frame library file, and obtaining a second incremental library file when compiling is passed;
s44, deploying the first incremental library file to a continuous integrated system of the uBrain;
s45, scanning the code to be processed of the uBrain;
s46, performing unit detection and UI automation test on the full-quantity codes of the uBrain.
In one embodiment, referring to fig. 6, for example, if the code to be processed belongs to a high-level application layer (Seniorapp), the target product of the code to be processed is a joint replacement surgical robot (uTHA), and the software continuous integration method includes:
s51, receiving a code to be processed, and determining that the level of the code to be processed is a Seniorapp;
s52, determining that a target product corresponding to the code to be processed is uTHA;
s53, compiling the code to be processed based on an application solution corresponding to the code to be processed and the latest frame library file, and obtaining a second incremental library file when the compiling is successful;
s54, deploying the first incremental library file to a continuous integrated system of the uTHA;
S55, scanning the code to be processed of the uTHA;
s56, performing unit detection and UI automation test on the full-quantity code of the uTHA.
In one embodiment, the code of the advanced application layer is further configured to implement advanced application functions of a new added product, where the new added product is different from the plurality of products. When there is a development requirement of the new product, that is, when there is a requirement of the new product in the advanced application layer, only the continuous integrated system of the new product needs to be established, and the code quality of the new product can be effectively verified. The code of the advanced application layer is further used for realizing advanced application functions of a newly added product, which is different from the plurality of products, and correspondingly,
step 103 further comprises:
step 901, if the level of the code to be processed is an advanced application layer, determining a second incremental library file according to the latest frame library file and the code to be processed.
Specifically, the specific description of the second incremental library file determined in step 901 may be found in the description of step 401 and step 402.
And step 902, if a target product corresponding to the code to be processed exists in the products, establishing a continuous integrated system of the newly added product.
Specifically, if the code to be processed does not belong to any one of the plurality of products, it may be determined that the code to be processed is an added application function for implementing an added product, that is, the added product corresponds to the code to be processed. And the continuous integrated system of the newly added product can be configured and established on a continuous integrated platform.
And step 903, deploying the second incremental library file, the latest framework library file of the framework layer and the latest basic application library file of the basic application layer to a continuous integration system of the new product, and performing continuous integration of the new product.
Specifically, the latest basic application library file of the basic application layer is the library file corresponding to all codes in the basic application layer when the codes to be processed are received. Deploying the second incremental library file, the latest frame library file of the frame layer and the latest basic application library file of the basic application layer to a continuous integrated system of the newly added product, performing code scanning on a code to be processed of the newly added product, and performing unit detection on a full code of the newly added product, wherein the full code of the newly added product comprises: code for a second incremental library file, a latest framework library file, and a latest base application library file; and carrying out UI automatic detection on the full code of the newly added product.
In this embodiment, according to the function implemented by the code, the architecture of the code of multiple products is divided at the engineering level to obtain the frame layer, the basic application layer and the advanced application layer, if the code to be processed is the code of the frame layer, when the code to be processed is subjected to incremental compiling, all the codes of the frame layer and the application layer do not need to be pulled to participate together, if the code to be processed is the code of the basic application layer or the advanced application layer, when the code to be processed is subjected to incremental compiling, only the latest frame library file is required to be referenced, all the codes of the frame layer and the application layer do not need to be pulled to participate together, and when the code to be processed is submitted into the library, compiling time is reduced. After the code is submitted and put in storage, the full package of the product is not required to be constructed, the library file obtained by incremental compiling is deployed to a continuous integrated system of the product, and continuous integration of the product can be directly carried out according to the latest framework library file, the latest application library file and the code to be processed, that is, once the code is submitted and put in storage, integrated compiling and continuous integration can be automatically completed, so that the continuous integration is more systematic, the time of the whole link is reduced, and the continuous integration verification efficiency is improved.
It should be understood that, although the steps in the flowchart of fig. 1 are shown in sequence as indicated by the arrows, the steps are not necessarily performed in sequence as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least a portion of the steps in fig. 1 may include a plurality of steps or stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily sequential, but may be performed in rotation or alternatively with at least a portion of the steps or stages in other steps or other steps.
In one embodiment, as shown in fig. 7, there is provided a software persistence integrated apparatus comprising:
the hierarchy determining module is used for determining the hierarchy of the code to be processed in response to receiving the code to be processed;
the first continuous integration module is used for determining a first incremental library file according to the code to be processed if the level of the code to be processed is a frame layer, and continuously integrating the code based on the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products;
And the second continuous integration module is used for determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed if the level of the code to be processed is an application layer, and continuously integrating the code to be processed based on the second incremental library file, wherein the code of the application layer is used for realizing the application layer functions of the plurality of products, and the latest frame library file of the frame layer is the library file corresponding to all codes in the frame layer when the code to be processed is received.
For specific limitations of the software persistent integration device, reference may be made to the above limitation of the software persistent integration method, which is not repeated here. The various modules in the software integration device described above may be implemented in whole or in part by software, hardware, or a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment, a computer device is provided, which may be a server, and the internal structure of which may be as shown in fig. 8. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a method of software sustained integration.
It will be appreciated by those skilled in the art that the structure shown in FIG. 8 is merely a block diagram of some of the structures associated with the present inventive arrangements and is not limiting of the computer device to which the present inventive arrangements may be applied, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
In one embodiment, a computer device is provided comprising a memory and a processor, the memory having stored therein a computer program, the processor when executing the computer program performing the steps of:
determining a hierarchy of a code to be processed in response to receiving the code to be processed;
if the hierarchy of the code to be processed is a frame layer, determining a first incremental library file according to the code to be processed, and continuously integrating based on the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products;
if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating the code to be processed based on the second incremental library file, wherein the code to be processed is used for realizing the application layer functions of the multiple products, and when the latest frame library file of the frame layer is the library file corresponding to all codes in the frame layer.
In one embodiment, a computer readable storage medium is provided having a computer program stored thereon, which when executed by a processor, performs the steps of:
determining a hierarchy of a code to be processed in response to receiving the code to be processed;
if the hierarchy of the code to be processed is a frame layer, determining a first incremental library file according to the code to be processed, and continuously integrating based on the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products;
if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating the code to be processed based on the second incremental library file, wherein the code to be processed is used for realizing the application layer functions of the multiple products, and when the latest frame library file of the frame layer is the library file corresponding to all codes in the frame layer.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, or the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory. By way of illustration, and not limitation, RAM can be in the form of a variety of forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), and the like.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples illustrate only a few embodiments of the application, which are described in detail and are not to be construed as limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of protection of the present application is to be determined by the appended claims.

Claims (12)

1. A method of continuously integrating software, the method comprising:
determining a hierarchy of a code to be processed in response to receiving the code to be processed;
if the hierarchy of the code to be processed is a frame layer, determining a first incremental library file according to the code to be processed, and continuously integrating based on the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products;
If the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed, and continuously integrating the code to be processed based on the second incremental library file, wherein the code to be processed is used for realizing the application layer functions of the multiple products, and when the latest frame library file of the frame layer is the library file corresponding to all codes in the frame layer.
2. The method of claim 1, wherein the determining a first delta library file from the code to be processed and the continuously integrating based on the first delta library file comprises:
determining a frame solution to which the code to be processed belongs;
compiling the code to be processed based on the frame solution, and determining a first incremental library file when compiling passes;
and synchronously deploying the first incremental library file to a continuous integration system of each product, and carrying out continuous integration of each product.
3. The method of claim 2, wherein the synchronously deploying the first incremental library file to the continuous integration system of each product for continuous integration of each product comprises:
Synchronously deploying the first incremental library file to a continuous integrated system of each product;
code scanning is carried out on the codes to be processed of each product;
performing unit detection on the full-quantity code of each product, wherein the full-quantity code of each product comprises codes in the first incremental library file;
UI automation testing is performed on the full-scale code for each product.
4. The method of claim 1, wherein the determining a second delta library file from the latest frame library file of the frame layer and the pending code comprises:
determining an application solution to which the code to be processed belongs;
compiling the code to be processed based on the latest frame library file of the frame layer and the application solution, and determining a second increment library file when the compiling passes.
5. The method of claim 1, wherein if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to a latest frame library file of the frame layer and the code to be processed, and performing continuous integration based on the second incremental library file, including:
if the hierarchy of the code to be processed is a basic application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed;
And synchronously deploying the second incremental library file to a continuous integration system of each product, and carrying out continuous integration of each product.
6. The method of claim 5, wherein the synchronously deploying the second incremental library file to the continuous integration system of each product for continuous integration of each product comprises:
synchronously deploying the second incremental library file to a continuous integrated system of each product;
code scanning is carried out on the codes to be processed of each product;
performing unit detection on the full-quantity codes of each product;
UI automation testing is performed on the full-scale code for each product.
7. The method of claim 1, wherein if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to a latest frame library file of the frame layer and the code to be processed, and performing continuous integration based on the second incremental library file, including:
if the hierarchy of the code to be processed is an advanced application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed;
and if the target products corresponding to the codes to be processed exist in the products, deploying the second incremental library file to a continuous integration system of the target products, and carrying out continuous integration of the target products.
8. The method of claim 7, wherein the deploying the second incremental library file to the continuous integration system of the target product for continuous integration of the target product comprises:
deploying the second incremental library file to a continuous integrated system of the target product;
code scanning is carried out on the code to be processed of the target product;
performing unit detection on the full code of the target product;
and carrying out UI automatic test on the full code of the target product.
9. The method of claim 5, wherein if the hierarchy of the code to be processed is an application layer, determining a second incremental library file according to a latest frame library file of the frame layer and the code to be processed, and performing continuous integration based on the second incremental library file, further comprising:
if the hierarchy of the code to be processed is an advanced application layer, determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed;
if the target product corresponding to the code to be processed does not exist in the products, a continuous integrated system of the newly added product is built;
And deploying the second incremental library file, the latest framework library file of the framework layer and the latest basic application library file of the basic application layer to a continuous integration system of the new product, and carrying out continuous integration of the new product.
10. A software sustained integration apparatus, the apparatus comprising:
the hierarchy determining module is used for determining the hierarchy of the code to be processed in response to receiving the code to be processed;
the first continuous integration module is used for determining a first incremental library file according to the code to be processed if the level of the code to be processed is a frame layer, and continuously integrating the code based on the first incremental library file, wherein the code of the frame layer is used for realizing a frame layer function shared by a plurality of products;
and the second continuous integration module is used for determining a second incremental library file according to the latest frame library file of the frame layer and the code to be processed if the level of the code to be processed is an application layer, and continuously integrating the code to be processed based on the second incremental library file, wherein the code of the application layer is used for realizing the application layer functions of the plurality of products, and the latest frame library file of the frame layer is the library file corresponding to all codes in the frame layer when the code to be processed is received.
11. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor implements the steps of the method of any one of claims 1 to 9 when the computer program is executed.
12. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 9.
CN202111068487.3A 2021-09-13 2021-09-13 Software continuous integration method, device, computer equipment and storage medium Active CN113760300B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111068487.3A CN113760300B (en) 2021-09-13 2021-09-13 Software continuous integration method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111068487.3A CN113760300B (en) 2021-09-13 2021-09-13 Software continuous integration method, device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113760300A CN113760300A (en) 2021-12-07
CN113760300B true CN113760300B (en) 2023-10-27

Family

ID=78795164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111068487.3A Active CN113760300B (en) 2021-09-13 2021-09-13 Software continuous integration method, device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113760300B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955207A (en) * 2023-09-18 2023-10-27 中国兵器装备集团兵器装备研究所 Automatic test method, system and medium for identifying software and hardware completed by test case

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117944A (en) * 2008-11-13 2010-05-27 Sony Ericsson Mobilecommunications Japan Inc Software update system, software update method, mobile phone terminal, and program
CN102193793A (en) * 2010-03-02 2011-09-21 腾讯科技(深圳)有限公司 Method and device for realizing software reusability
CN102402452A (en) * 2011-12-12 2012-04-04 深圳市共进电子股份有限公司 Compiling method and device
CN105487907A (en) * 2015-12-07 2016-04-13 青岛海信电器股份有限公司 Difference package manufacturing method and device
CN106559438A (en) * 2015-09-24 2017-04-05 阿里巴巴集团控股有限公司 A kind of program method for uploading and device based on objective network platform
CN106919378A (en) * 2016-08-24 2017-07-04 阿里巴巴集团控股有限公司 Application based on increment updates and method of testing and system, server and client
CN107391149A (en) * 2017-07-28 2017-11-24 郑州云海信息技术有限公司 The code generating method and device of a kind of hardware platform
CN109885311A (en) * 2019-01-28 2019-06-14 平安科技(深圳)有限公司 A kind of generation method and equipment of application program
CN111316230A (en) * 2018-07-19 2020-06-19 华为技术有限公司 Method and equipment for generating patch package
CN113110832A (en) * 2021-04-08 2021-07-13 北京联创新天科技有限公司 Intelligent efficient code generation method and device and storage medium
WO2021169227A1 (en) * 2020-02-25 2021-09-02 华为技术有限公司 Code processing method, apparatus and device, and medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266805B2 (en) * 2004-12-22 2007-09-04 Timesys Corporation Systems and methods for generating software and hardware builds
US10102115B2 (en) * 2016-11-15 2018-10-16 Ca, Inc. Incremental program construction from embedded program code for external testing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117944A (en) * 2008-11-13 2010-05-27 Sony Ericsson Mobilecommunications Japan Inc Software update system, software update method, mobile phone terminal, and program
CN102193793A (en) * 2010-03-02 2011-09-21 腾讯科技(深圳)有限公司 Method and device for realizing software reusability
CN102402452A (en) * 2011-12-12 2012-04-04 深圳市共进电子股份有限公司 Compiling method and device
CN106559438A (en) * 2015-09-24 2017-04-05 阿里巴巴集团控股有限公司 A kind of program method for uploading and device based on objective network platform
CN105487907A (en) * 2015-12-07 2016-04-13 青岛海信电器股份有限公司 Difference package manufacturing method and device
CN106919378A (en) * 2016-08-24 2017-07-04 阿里巴巴集团控股有限公司 Application based on increment updates and method of testing and system, server and client
CN107391149A (en) * 2017-07-28 2017-11-24 郑州云海信息技术有限公司 The code generating method and device of a kind of hardware platform
CN111316230A (en) * 2018-07-19 2020-06-19 华为技术有限公司 Method and equipment for generating patch package
CN109885311A (en) * 2019-01-28 2019-06-14 平安科技(深圳)有限公司 A kind of generation method and equipment of application program
WO2021169227A1 (en) * 2020-02-25 2021-09-02 华为技术有限公司 Code processing method, apparatus and device, and medium
CN113110832A (en) * 2021-04-08 2021-07-13 北京联创新天科技有限公司 Intelligent efficient code generation method and device and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向持续集成的并行和分布式构建方法研究;李保前;《中国优秀硕士论文 信息科技》;全文 *

Also Published As

Publication number Publication date
CN113760300A (en) 2021-12-07

Similar Documents

Publication Publication Date Title
CN105468529A (en) Accurate traversal method and apparatus for UI controls of android application
US11573780B2 (en) Automated generation of status chains for software updates
CN106326120B (en) Regression testing method and device for application software and electronic equipment
CN111324522A (en) Automatic test system and method
CN111309636B (en) Robot automation test system, method, construction server and storage medium
CN113760300B (en) Software continuous integration method, device, computer equipment and storage medium
CN112988594A (en) Integrated detection method and system for code quality evaluation
US11544048B1 (en) Automatic custom quality parameter-based deployment router
CN112395202B (en) Interface automation test method and device, computer equipment and storage medium
CN111190827A (en) Interface automation test method and device, storage medium and electronic equipment
CN110032505B (en) Software quality determination apparatus and method, and non-transitory computer readable medium
CN115391228A (en) Precise test method, device, equipment and medium
US7149943B2 (en) System for flexible embedded Boundary Scan testing
CN106909434B (en) Method and device for detecting undefined function in executable program
CN110597710B (en) Test coverage rate statistical method, device, computer equipment and storage medium
CN116594635A (en) Cloud primary continuous integration and delivery method and device
US10922217B1 (en) Adaptive regression testing
CN112650555A (en) Development and test method, system and medium for management platform
CN110928777A (en) Test case processing method, device, equipment and storage medium
CN107229650B (en) Test method and device
CN113986263A (en) Code automation test method, device, electronic equipment and storage medium
Winzinger et al. Automatic test case generation for serverless applications
CN113535182A (en) Project engineering construction method and device, computer equipment and storage medium
CN113568834A (en) SDK code compatibility detection method, device, computer equipment and medium
CN112597043A (en) Software testing method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant