CN110673853A - Compiling method, device and system - Google Patents

Compiling method, device and system Download PDF

Info

Publication number
CN110673853A
CN110673853A CN201910908789.3A CN201910908789A CN110673853A CN 110673853 A CN110673853 A CN 110673853A CN 201910908789 A CN201910908789 A CN 201910908789A CN 110673853 A CN110673853 A CN 110673853A
Authority
CN
China
Prior art keywords
compiling
module
mirror image
compiled
component
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.)
Granted
Application number
CN201910908789.3A
Other languages
Chinese (zh)
Other versions
CN110673853B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910908789.3A priority Critical patent/CN110673853B/en
Publication of CN110673853A publication Critical patent/CN110673853A/en
Application granted granted Critical
Publication of CN110673853B publication Critical patent/CN110673853B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the specification discloses a compiling method, a compiling device and a compiling system, wherein the method is applied to the compiling system, the system comprises a standard mirror image warehouse, a building machine and a version library, a compiling mirror image component is arranged in the standard mirror image warehouse, application data to be compiled are arranged in the version library, the application data to be compiled comprise a plurality of compiling modules, and the building machine executes the following modes to realize the compiling of the application data to be compiled: acquiring a compiling description file; analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier corresponding to the compiling module; acquiring a compiling module of application data to be compiled according to the source code path data and the compiling module identification; calling a compiling mirror image component according to the component identifier corresponding to the obtained compiling module; and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result. By utilizing the embodiments of the specification, the compiling efficiency can be improved, and the compiling complexity and the working cost can be reduced.

Description

Compiling method, device and system
Technical Field
The present invention relates to the field of computer data processing technologies, and in particular, to a compiling method, device and system.
Background
In the traditional continuous integration field, an ant script is usually used by a version package building script for compiling, a shell script packages files and the like. The writing and maintenance of conventional build scripts often requires manual intervention by the user. However, due to the fact that the construction scripts are written without unified standards and specifications, the user coding styles are not unified, the construction types are various, the construction scripts are written complicatedly, and the like, great troubles are brought to the user for writing the construction scripts, the written construction scripts are difficult to understand, cannot be reused, and have poor expansibility, and the cost of manually maintaining the construction scripts is too high. How to standardize the compiling of the construction script, save the labor maintenance cost and improve the construction efficiency becomes the problem which needs to be solved urgently.
Disclosure of Invention
An object of the embodiments of the present disclosure is to provide a compiling method, device and system, which can improve compiling efficiency and reduce compiling complexity and working cost.
The present specification provides a compiling method, device and system, which are implemented in the following ways:
a compiling method is applied to a compiling system, the system comprises a standard mirror image warehouse, a builder and a version library, a compiling mirror image component is arranged in the standard mirror image warehouse, application data to be compiled is arranged in the version library, the application data to be compiled comprises a plurality of compiling modules, and the builder executes at least the following modes to realize compiling of the application data to be compiled:
acquiring a compiling description file of the application data to be compiled;
analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
acquiring a compiling module of the application data to be compiled from the version library according to the source code path data and the compiling module identification;
calling a compiling mirror image component from the standard mirror image warehouse according to the component identification corresponding to the obtained compiling module;
and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result.
In another embodiment provided by the method described in this specification, after parsing the compilation description file, the method further includes: a compilation run step is obtained that includes compiling dependencies between the compiling modules.
In another embodiment provided by the method described herein, the method further comprises:
and performing parallel compiling processing on the compiling module without compiling dependency relationship on the building machine, and performing compiling processing on the compiling module with compiling dependency relationship on the building machine based on the compiling dependency relationship.
In another embodiment provided by the method described in this specification, the application data to be compiled is incremental source program data after the version of the application to be compiled is updated;
before the calling of the compilation mirror image component, the method further comprises the following steps:
judging whether the compiling module is empty or not, if not, calling a compiling mirror image component from the standard mirror image warehouse according to a component identifier corresponding to the compiling module; if empty, the compilation module is skipped.
In another embodiment provided by the method described in this specification, the performing compilation processing on the obtained compilation module by using the called compilation mirror component includes:
and running the called compiling mirror image component to start the container, compiling the compiling module in the container by using the called compiling mirror image component, and destroying the container after the compiling process of the called compiling mirror image component is finished.
In another embodiment provided by the method described in this specification, the compilation description file further includes compilation running parameter data of the compilation image component;
the compiling processing of the obtained compiling module by using the called compiling mirror image component comprises the following steps:
and compiling the obtained compiling module by using the called compiling mirror image component and the called compiling running parameter data of the compiling component.
In another embodiment provided by the method described herein, the method further comprises:
and after the compiling operation step is judged to be completed, packing the compiling results of all compiling modules to obtain the version package of the application data to be compiled.
In another embodiment provided by the methods described herein, the compiled mirror component includes one or more of a MAVEN mirror, a NODEJS mirror, a DB mirror, a WAS mirror, a JAVA mirror, a COPY mirror, a PAAS mirror, a PYTHON mirror, a LIBERTY mirror, a CHECK mirror, and a GO mirror.
An embodiment of the present specification further provides a compiling method, where the method includes:
acquiring a compiling description file of application data to be compiled, wherein the application data to be compiled comprises a plurality of compiling modules;
analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
acquiring a compiling module of the application data to be compiled according to the source code path data and the compiling module identification;
calling a compiling mirror image component according to the component identifier corresponding to the obtained compiling module;
and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result.
An embodiment of the present specification further provides a compiling apparatus, including:
the data acquisition module is used for acquiring a compiling description file of the application data to be compiled, and the application data to be compiled comprises a plurality of compiling modules;
the data analysis module is used for analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
the source program acquisition module is used for acquiring a compiling module of the application data to be compiled according to the source code path data and the compiling module identification;
the compiling mirror image calling module is used for calling the compiling mirror image component according to the component identifier corresponding to the obtained compiling module;
and the compiling processing module is used for compiling the obtained compiling module by utilizing the called compiling mirror image component to obtain a compiling result.
An embodiment of the present specification further provides a compiling device, including a processor and a memory for storing processor-executable instructions, where the instructions, when executed by the processor, implement steps including:
acquiring a compiling description file of application data to be compiled, wherein the application data to be compiled comprises a plurality of compiling modules;
analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
acquiring a compiling module of the application data to be compiled according to the source code path data and the compiling module identification;
calling a compiling mirror image component according to the component identifier corresponding to the obtained compiling module;
and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result.
The embodiment of the present specification further provides a compiling system, where the system includes a standard mirror image warehouse, a building machine, and a version library, where the standard mirror image warehouse is provided with a compiling mirror image component, the version library is provided with application data to be compiled and a compiling description file of the application data to be compiled, and the application data to be compiled includes multiple compiling modules;
the building machine acquires the compiling description file from the version library according to a building request, wherein the building request comprises identification information of the application data to be compiled;
the building machine analyzes the compiling description file, and obtains a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to a compiling module;
the building machine acquires a compiling module of the application data to be compiled from the version library according to the source code path data and the compiling module identification;
the building machine calls the compiling mirror image component from the standard mirror image warehouse according to the obtained component identification corresponding to the compiling module;
and the building machine utilizes the called compiling mirror image component to compile the obtained compiling module to obtain a compiling result.
According to the compiling method, the compiling device and the compiling system provided by one or more embodiments of the specification, the compiling processing of the application data to be compiled can be realized by configuring the compiling mirror image component in advance and utilizing the compiling mirror image component. Meanwhile, the application data to be compiled can be divided into a plurality of compiling modules, specific compiling mirror image components required by compiling processing of the compiling modules and compiling dependency relations among the compiling mirror image components are configured in advance, and the compiling modules are respectively compiled based on the preconfigured data. By utilizing the embodiments of the specification, the application compiling process can be split in a modularization mode, the free assembly and construction process is realized, and the compiling efficiency is improved; meanwhile, a user does not need to repeatedly compile complicated construction scripts, and compiling complexity and working cost can be reduced.
Drawings
In order to more clearly illustrate the embodiments of the present specification 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 some embodiments described in the present specification, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative effort. In the drawings:
FIG. 1 is a block diagram of an embodiment of a compiling system provided in the present specification;
FIG. 2 is a block diagram of a standard mirror repository in one embodiment provided herein;
FIG. 3 is a flowchart of an embodiment of a compiling method provided in the present specification;
FIG. 4 is a flow chart illustrating another compiling method embodiment provided by the present specification;
FIG. 5 is a block diagram of an embodiment of a compiler apparatus according to the present disclosure;
fig. 6 is a schematic block diagram of a server according to an exemplary embodiment of the present description.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in one or more embodiments of the present specification will be clearly and completely described below with reference to the drawings in one or more embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the specification, and not all embodiments. All other embodiments obtained by a person skilled in the art based on one or more embodiments of the present specification without making any creative effort shall fall within the protection scope of the embodiments of the present specification.
Fig. 1 is a schematic block diagram of a compiling system provided in an embodiment of the present disclosure. As shown in fig. 1, the compiling system provided by the embodiment of the present specification may include a standard image repository, a builder, and a version repository. The standard mirror repository may be a mirror repository storing compiled mirror components, such as a docker mirror repository. The builder may comprise a server or a cluster of servers that perform the compilation process. The version repository may include a database storing source program data for an application.
In some embodiments, the standard image repository may have one or more pre-configured compiled image components stored therein. The compilation mirror component may include operating program data encapsulated to implement particular compilation build needs. Fig. 2 is a schematic block diagram of a standard mirror warehouse according to an embodiment of the present disclosure. As shown in FIG. 2, the compilation image component may include a MAVEN image, a NODEJS image, a DB image, a WAS image, a JAVA image, a COPY image, a PAAS image, a PYTHON image, a LIBERTY image, a CHECK image, a GO image. The functions that each compiled mirror image component can support are as follows:
MAVEN mirror image: supporting MAVEN engineering compilation;
NODEJS mirror: supporting NODEJS engineering compilation;
DB mirroring: packing and compiling the database script;
WAS mirroring: supporting WAS engineering compilation;
JAVA mirroring: supporting JAVA engineering compilation;
COPY mirror image: supporting file copying;
PAAS mirroring: supporting construction of a DOCKER mirror image;
PYTHON mirror image: supporting PYTHON engineering compilation;
LIBERTY mirror image: supporting LIBERTY engineering compilation;
CHECK mirror image: supporting file filtering;
GO mirror image: GO engineering compilation is supported.
The version library may include application data to be compiled, and the application data to be compiled may include source program data to be compiled of an application. The developer can write the source program data of the application according to the building requirement, and then the written source program data can be uploaded to the version library to be stored.
The compiling process of the application data to be compiled can be performed based on the compiling description file. The compiling description file can be a configuration file for compiling operation, and a user can configure parameter data in the compiling description file according to the compiling requirement. The compiling description file can adopt a configuration file in a yaml format, so that the compiling is more agile, the content is easier to read, the data can be analyzed, and the extension is easier. Of course, configuration files in other formats may be used, and are not limited herein.
In one or more embodiments of the present specification, the compiling description file may be configured with one or more of a compiling module identifier, source program path data, a compiling operation step, a compiling operation parameter, and the like.
The application data to be compiled can be divided according to the nodes to obtain a plurality of compiling modules. One application can be divided into a plurality of nodes, data of each node can be compiled independently, and the nodes can be set according to the self architecture of the application, such as determined according to the type of compiling engineering required by the application. The application data to be compiled can be divided into a plurality of modules in the version library according to the nodes to obtain a plurality of compiling modules. When the compiling description file is configured, the compiling process of the whole application can be configured into a form of a plurality of compiling modules. The compiling description file can be corresponding to a compiling module identifier so as to distinguish the source program data and the compiling operation steps of each compiling module and realize the independent compiling processing of each compiling module.
The source program path data may be storage path data of application data to be compiled, and each compiling module of the application may be acquired from the version library at one time according to the source program path data. In other embodiments, the source program path data may further include storage path data of each compiling module, or each compiling module may be acquired from the version library according to the source program path data.
The compiling description file can also support the configuration and arrangement of the compiling steps, and developers can edit the compiling operation steps in the compiling description file in advance according to the compiling processing logic operation relation, the operation environment and the like of the application to be compiled. The compiling processing of the application can be realized by utilizing a preset compiling mirror image component, and then the compiling result of the compiling component is packaged to obtain the version packet of the application.
Component identifications of specific compilation image components required by the compilation module, dependencies between the compilation image components, and the like may be configured in the compilation description file. When compiling, compiling of each compiling module can be realized based on the configuration information in the compiling description file. Yml files are filled in by a user, mirror image component types needed in the compiling process of each compiling module, such as a MAVEN mirror image, a NODEJS mirror image, a DB mirror image and the like, are defined, and the dependency relationship among the compiling mirror image components is determined by configuring the compiling step.
The compiling description file may further include compiling operation parameter data, and the compiling operation parameter data may include parameter data that is required by each compiling mirror image component when compiling the application to be compiled, and may be configured in advance by a developer according to needs.
The building machine can be a single compiling building server or a server cluster. In one embodiment of the present description, the builder may be a distributed server cluster, and the builder may include distribution, load balancing, and dynamic resource allocation and reclamation operations.
The building machine can be a distributed cluster and is provided with a plurality of building nodes, and each building node can independently support building. The building machine can process a plurality of building requests simultaneously, and the building requests can be distributed to each building node through a charge balancing strategy to trigger building. The multiple construction requests may be construction requests corresponding to multiple compiling modules of one application data to be compiled, or may be construction requests corresponding to multiple application data to be compiled.
The compiling processing is carried out based on a compiling module mode, the compiling processing among the compiling modules can run independently, and the construction machine cannot influence each other no matter when the compiling processing of each compiling module of a single application or the compiling processing of the compiling modules of a plurality of applications is processed, so that the concurrent processing of the application compiling can be realized, and the compiling processing efficiency is greatly improved.
The builder may be configured with a fixed build resource pool that may support on-demand allocation and reclamation. After each construction node receives the construction request of load balancing distribution, construction resources can be distributed, the container is started to start construction, and after the construction work of the container is completed, the container can be automatically destroyed, the recovery of the construction resources is completed, and the waste of the construction resources is effectively avoided.
Based on the compiling system described in one or more embodiments above, the embodiments of the present specification further provide the following compiling method. Although the present specification provides the method steps or apparatus structures as shown in the following examples or figures, more or less steps or modules may be included in the method or apparatus structures based on conventional or non-inventive efforts. In the case of steps or structures which do not logically have the necessary cause and effect relationship, the execution order of the steps or the block structure of the apparatus is not limited to the execution order or the block structure shown in the embodiments or the drawings of the present specification. When the described method or module structure is applied to a device, a server or an end product in practice, the method or module structure according to the embodiment or the figures may be executed sequentially or in parallel (for example, in a parallel processor or multi-thread processing environment, or even in an implementation environment including distributed processing and server clustering). Fig. 3 is a flowchart illustrating an embodiment of the compiling method provided in the present specification. As shown in fig. 3, in an embodiment of the compiling method provided in this specification, the method may include:
s0: and acquiring a compiling description file of the application data to be compiled.
The user may initiate a build request, and the build machine may initiate compilation processing of the application data to be compiled based on the build request. In some embodiments, the construction request may include identification information of the application data to be compiled, and the builder may obtain the compilation description file according to the identification information.
In some embodiments, the compiling description file may be stored in the version library, and after the user writes the compiling description file, the compiling description file may be uploaded to the version library for storage. And the identification information of the application data to be compiled can be utilized for identification and storage, so that the application data can be called conveniently during compiling processing. The builder can obtain the compilation description file of the application data to be compiled from the version library according to the identification information in the construction request initiated by the user.
S2: and analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of the compiling mirror image component corresponding to the compiling module.
The building machine may analyze the compiling description file, obtain configuration information in the compiling description file, obtain application data to be compiled based on the configuration information, and perform compiling processing on the compiling application data.
In some embodiments, the version library may further store compilation assisting script data. The compiling auxiliary script data may include a compiling description file parsing script, a mirror image starting script, a unified packaging script, and the like. The compilation description parsing script may be for parsing a compilation description. The image starting script can be used for starting a corresponding compiling image component to run according to configuration information obtained by analyzing the compiling description file analyzing script. The uniform packaging script can be used for uniformly packaging the final compiling result to obtain a version package.
The building machine can obtain the compiling description file analyzing script from the version library, and then can run the compiling description file analyzing script to analyze the compiling description file, obtain the compiling module identification, the source code path data and the compiling running step.
The compiling description file may be configured with compiling module identifiers, source code path data, component identifiers of the compiling mirror image components, and other data corresponding to the compiling modules. The source code path data may be used to obtain source program data to be compiled from a version library. The compiling module identification may be used to identify data of each compiling module. The component identifier may be used to identify a compilation mirror component that is needed for compilation processing by a compilation module.
The compilation mirror component may be pre-configured in a standard mirror repository for performing compilation processes for specific functions. The compiling process of the source program data can be realized by calling a compiling mirror image component and by the compiling mirror image component. For a compiling module, a component identifier of a compiling mirror image component corresponding to the compiling module when compiling can be configured in advance in a compiling description file, in the compiling process, the compiling description file can be interpreted to obtain the component identifier corresponding to the compiling module, the compiling mirror image component corresponding to the component identifier is called from a standard mirror image warehouse by using the component identifier, and the compiling module is compiled by using the called compiling module.
S4: and acquiring the compiling module of the application data to be compiled from the version library according to the source code path data and the compiling module identification.
The source program data of the application can be stored in the version library according to the compiling module respectively. In some embodiments, the source code path data may include storage location data of application data to be compiled, the application data to be compiled may be obtained from a version library all at once based on the source code path data, and then, source program data corresponding to a corresponding compiling module may be obtained from the obtained application data to be compiled according to a compiling module identifier. In other embodiments, the source code path data may further include a storage address of each compiling module in the version library, and the source program data of each compiling module may be acquired from the version library according to the source code path data. In one or more embodiments of the present specification, it is preferable to adopt a manner of pulling all source program data to be compiled of an application to be compiled from a version library at one time, so that the pulling steps are reduced, and timely processing is facilitated.
S6: and calling the compiled mirror image component from the standard mirror image warehouse according to the obtained component identifier corresponding to the compiled module.
For a certain compiling module, the component identifier in the compiling step can be sent to the mirror image starting script, and the mirror image starting script can call the corresponding compiling mirror image component from the standard mirror image warehouse according to the component identifier. In some embodiments, the compilation mirror image component may be called according to execution needs, and when a certain compilation mirror image component needs to be run, the compilation mirror image component is called again. In other embodiments, all the compilation mirror image components required by the application data to be compiled can be called from the standard mirror image warehouse at one time, local caching is performed, repeated execution of the calling step is avoided, and then when a certain compilation mirror image component needs to be operated, the corresponding compilation mirror image component is operated directly according to the component identifier.
S8: and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result.
After the building machine calls the compiling mirror image component corresponding to the compiling module, the compiling module can be compiled by using the compiling mirror image component. The compiling modules are divided according to the architecture of the application, one compiling module generally corresponds to one compiling mirror image component, after the compiling processing of the corresponding compiling module is completed by utilizing the compiling mirror image component, the compiling result of the compiling module can be obtained, and the compiling result can be stored in a storage medium of the building machine. After the compiling modules of the application data to be compiled are respectively processed, the compiling results corresponding to the compiling modules can be obtained.
In other embodiments of the present specification, the following compiling process may be further performed for each compiling module: and running the called compiling mirror image component to start the container, compiling the compiling module in the container by using the called compiling mirror image component, and destroying the container after the compiling process of the called compiling mirror image component is finished.
The builder may be configured with a dynamic allocation and reclamation mechanism for resources. The builder may be configured with a fixed build resource pool that may support on-demand allocation and reclamation. After the compiling mirror image assembly is operated, the construction node can distribute construction resources according to needs, start the container, start compiling processing, and after the compiling processing in the container is finished, the compiling result can be stored in a storage medium of the construction machine, and then the container can be automatically destroyed, the recycling of the construction resources is finished, and the waste of the construction resources is effectively avoided. When the next compiling module is compiled, the construction node can distribute the construction resources again according to the requirement, and the container is started to compile the corresponding compiling module.
The container can be an operation resource distributed according to a compiling processing mechanism, and compiling processing in the container can operate independently and is not interfered by operation of other data of the server. The compiling processing of each compiling mirror image component is carried out in a container mode, so that the construction resources can be effectively utilized, and the resource waste is prevented.
In another embodiment of the present specification, the compiling description file may further include compiling operation parameter data of the compiling image component; the compiling module can be compiled by using the called compiling mirror image component and the compiling running parameter data of the called compiling component. Compiling operation parameter data of each compiling mirror image component can be configured in the compiling description file in advance, and the compiling mirror image component can be operated to compile the compiling module based on the compiling operation parameter data of the compiling description file. The efficiency of compiling processing can be further improved by pre-configuring the parameter data of each compiling mirror image component in the compiling description file.
In another embodiment of the present specification, the compiling step may further include a compiling and running step, and the compiling and running step may include compiling a dependency relationship between the compiling modules. When the compiling mirror image component is used for compiling the source program data, the processing of one compiling module may need to depend on the processing results of another or a plurality of compiling modules, and each compiling module may have a dependency relationship on the processing results of other compiling modules. This dependency may be referred to as a compilation dependency between compilation modules.
Compiling processing can be performed on each compiling module in sequence in the building machine based on the compiling step. In other embodiments of this specification, a compiling module without a compiling dependency relationship may be subjected to parallel compiling on the building machine based on a compiling dependency relationship pre-configured in the compiling step, and a compiling module with a compiling dependency relationship may be subjected to compiling on the building machine based on the compiling dependency relationship.
The compiling modules without result dependence can be determined based on the compiling dependence relationship, and the compiling operation processing can be carried out on the compiling modules without result dependence according to the resource configuration of the building machine, so that the utilization of the building machine resources can be greatly improved, and the efficiency and the flexibility of the compiling processing can be improved. And compiling the compiling module with result dependence according to the compiling dependence relationship, so that the accuracy of compiling result processing can be further ensured.
For example, the product compiled by the maven compiling mirror image component needs to be made into a mirror image, and the paas compiling mirror image component needs to be used; the compiling of the paas compiling mirror image component in the whole compiling process needs to be completed by relying on the maven compiling mirror image component, and then the next compiling process is carried out based on the compiling result of the maven compiling mirror image component. The paas compiling mirror image component can inquire whether the maven compiling mirror image component completes compiling or not in a polling mode, and when the maven compiling mirror image component completes compiling and compiling results meet requirements, the paas compiling mirror image component performs the following compiling based on the compiling results of the maven compiling mirror image component. If the compilation result of the maven compilation mirror component does not meet the requirement, the paas compilation mirror component can report an error. By the method, the accuracy of compiling result processing can be further ensured.
In some embodiments, the builder may be a distributed server cluster. After the building machine acquires each compiling module, the compiling dependency relationship between the compiling modules can be analyzed firstly, if the compiling dependency relationship exists between two or more compiling modules, the compiling processing sequence between the compiling modules is determined according to the compiling dependency relationship, and after the processing of the former compiling module is finished, the latter compiling module carries out the compiling processing again. For a compiling module without a compiling dependency relationship, the compiling modules can be distributed to different distributed nodes to carry out parallel compiling processing. The application data to be compiled is configured into a plurality of compiling modules, and the compiling processing of the application is realized by utilizing a parallel processing mode, so that the compiling processing efficiency can be greatly improved.
In one or more embodiments of the present description, the method may further include:
s10: and after the compiling operation step in the compiling description file is judged to be completed, packing the compiling result of each compiling module to obtain a version package of the application data to be compiled.
After all compiling steps in the compiling description file are determined to be completed, all compiling results corresponding to the application to be compiled can be packaged by using the uniform packaging script, and a version package of the application data to be compiled is obtained.
The compiled description file provided in the above embodiments of the present specification has a feature of supporting reuse without requiring rewriting from the beginning every time. The developer can modify and perfect the compiled description file on the basis of the compiled description file to obtain the compiled description file required at this time. Meanwhile, compiling processing is divided into a plurality of compiling modules according to the nodes of the application for compiling processing, the dependency relationship of each compiling module is configured in advance based on the compiling description file, the application compiling process can be split in a modularization mode, the free assembly and construction process is achieved, and compiling efficiency is improved. Meanwhile, the user does not need to repeatedly compile complicated construction scripts, and compiling complexity and working cost are reduced.
In one or more embodiments of the present specification, when the application version is updated, and the building machine acquires the source program data from the version library, only the updated source program data may be acquired to perform the compiling process. Correspondingly, the application data to be compiled may be incremental source program data after the version of the application to be compiled is updated.
After the application version is updated, a developer can upload the source program data to be compiled and applied to be updated to the version library, and the updated source program data can be respectively identified according to the original module identification. At the same time, a base tag may be built in the version base to distinguish compiled source program data from newly submitted incremental source program data. The building machine can pull newly submitted incremental source program data according to the basic label, and then can obtain the source program data of each compiling module according to the compiling module identification.
In an embodiment of the present specification, before invoking the compilation mirror component, the method further includes: judging whether the compiling module is empty or not, if not, calling a compiling mirror image component from the standard mirror image warehouse according to a component identifier corresponding to the compiling module; if empty, the compilation module is skipped.
Before compiling the compiling module, it may be determined whether the compiling module is empty, that is, whether source program data exists in the compiling module. If the compiled module exists, the compiled module is compiled, and if the compiled module does not exist, the compiled module does not need to be compiled, and the compiled module can be directly skipped. When the version or the patch of the application is updated, the source program data corresponding to all the compiling modules are not required to be updated, and correspondingly, in the application data to be compiled that is pulled down from the version library, the compiling module in which the source program data is not updated has no source program data to be compiled. By further judging whether incremental source program data exist in each compiling module, compiling processing is not needed for the compiling module without source program updating, meaningless compiling processing can be effectively avoided, and the compiling processing efficiency is further improved.
After the compiling process is completed, the compiling result of the incremental source program data and the required compiling result of the previous compiling process can be obtained by using the uniform packing script, and the obtained compiling result is subjected to uniform packing process to obtain the version package after the application is updated.
Fig. 4 is a flowchart of a compiling method provided in the present specification. As shown in fig. 4, the present specification provides a compiling method applied to a building machine, where the method may include:
s402: acquiring a compiling description file of application data to be compiled, wherein the application data to be compiled comprises a plurality of compiling modules;
s404: analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
s406: acquiring a compiling module of the application data to be compiled according to the source code path data and the compiling module identification;
s408: calling a compiling mirror image component according to the component identifier corresponding to the obtained compiling module;
s410: and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result.
Specific implementation schemes can be implemented by referring to the above embodiments, and are not described in detail here.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. For details, reference may be made to the description of the related embodiments of the related processing, and details are not repeated herein.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
According to the compiling method provided by one or more embodiments of the present specification, the compiling mirror image component may be configured in advance, and the compiling mirror image component is utilized to implement the compiling process on the application data to be compiled. Meanwhile, the application data to be compiled can be divided into a plurality of compiling modules, specific compiling mirror image components required by compiling processing of the compiling modules and compiling dependency relations among the compiling mirror image components are configured in advance, and the compiling modules are respectively compiled based on the preconfigured data. By utilizing the embodiments of the specification, the application compiling process can be split in a modularization mode, the free assembly and construction process is realized, and the compiling efficiency is improved; meanwhile, a user does not need to repeatedly compile complicated construction scripts, and compiling complexity and working cost can be reduced.
Based on the compiling method, one or more embodiments of the present specification further provide a compiling apparatus. The apparatus may include systems, software (applications), modules, components, servers, etc. that utilize the methods described in the embodiments of the present specification in conjunction with hardware implementations as necessary. Specifically, fig. 5 is a schematic block structure diagram of an embodiment of a compiling apparatus provided in the specification, and as shown in fig. 5, the compiling apparatus provided in the specification is applied to a building machine, and the apparatus may include:
a data obtaining module 502, configured to obtain a compiling description file of to-be-compiled application data, where the to-be-compiled application data includes multiple compiling modules;
a data parsing module 504, configured to parse the compilation description file to obtain a compilation module identifier, source code path data, and a component identifier of a compilation mirror component corresponding to a compilation module;
a source program obtaining module 506, configured to obtain a compiling module of the to-be-compiled application data according to the source code path data and the compiling module identifier;
a compiled mirror image retrieving module 508, configured to retrieve a compiled mirror image component according to the component identifier corresponding to the obtained compiled module;
the compiling processing module 510 may be configured to perform compiling processing on the obtained compiling module by using the called compiling mirror image component, so as to obtain a compiling result.
It should be noted that the above-described apparatus may also include other embodiments according to the description of the method embodiment. The specific implementation manner may refer to the description of the related method embodiment, and is not described in detail herein.
The compiling apparatus provided in one or more embodiments of the present specification may implement, by configuring a compiling mirror image component in advance, compiling processing of application data to be compiled by using the compiling mirror image component. Meanwhile, the application data to be compiled can be divided into a plurality of compiling modules, specific compiling mirror image components required by compiling processing of the compiling modules and compiling dependency relations among the compiling mirror image components are configured in advance, and the compiling modules are respectively compiled based on the preconfigured data. By utilizing the embodiments of the specification, the application compiling process can be split in a modularization mode, the free assembly and construction process is realized, and the compiling efficiency is improved; meanwhile, a user does not need to repeatedly compile complicated construction scripts, and compiling complexity and working cost can be reduced.
The method or apparatus provided by the present specification and described in the foregoing embodiments may implement service logic through a computer program and record the service logic on a storage medium, where the storage medium may be read and executed by a computer, so as to implement the effect of the solution described in the embodiments of the present specification. Accordingly, the present specification also provides a compiling apparatus applied to a building machine, including a processor and a memory storing processor-executable instructions, which when executed by the processor, implement steps including:
acquiring a compiling description file of application data to be compiled, wherein the application data to be compiled comprises a plurality of compiling modules;
analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
acquiring a compiling module of the application data to be compiled according to the source code path data and the compiling module identification;
calling a compiling mirror image component according to the component identifier corresponding to the obtained compiling module;
and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result.
The method embodiments provided in the embodiments of the present specification can be executed in a computer terminal, a server or a similar computing device. Taking the example of the application on a server, fig. 6 is a hardware structure block diagram of a message push server to which the embodiment of the present specification is applied. As shown in fig. 6, the server 100 may include one or more (only one shown) processors 200 (the processors 200 may include, but are not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 300 for storing data, and a transmission module 400 for communication functions. It will be understood by those skilled in the art that the structure shown in fig. 6 is only an illustration and is not intended to limit the structure of the electronic device. For example, the server 100 may also include more or fewer components than shown in FIG. 6, and may also include other processing hardware, such as a database or multi-level cache, a GPU, or have a different configuration than shown in FIG. 6, for example.
The memory 300 may be used to store software programs and modules of application software, such as program instructions/modules corresponding to the search method in the embodiment of the present invention, and the processor 200 executes various functional applications and data processing by operating the software programs and modules stored in the memory 300. The memory 300 may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 300 may further include memory located remotely from the processor 200, which may be connected to a computer terminal through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission module 400 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the computer terminal. In one example, the transmission module 400 includes a Network adapter (NIC) that can be connected to other Network devices through a base station so as to communicate with the internet. In one example, the transmission module 400 may be a Radio Frequency (RF) module, which is used for communicating with the internet in a wireless manner.
The storage medium may include a physical device for storing information, and typically, the information is digitized and then stored using an electrical, magnetic, or optical media. The storage medium may include: devices that store information using electrical energy, such as various types of memory, e.g., RAM, ROM, etc.; devices that store information using magnetic energy, such as hard disks, floppy disks, tapes, core memories, bubble memories, and usb disks; devices that store information optically, such as CDs or DVDs. Of course, there are other ways of storing media that can be read, such as quantum memory, graphene memory, and so forth.
It should be noted that the above description of the apparatus according to the method embodiment may also include other embodiments. The specific implementation manner may refer to the description of the related method embodiment, and is not described in detail herein.
The compiling device according to the above embodiment may implement the compiling process of the application data to be compiled by configuring the compiling mirror image component in advance and using the compiling mirror image component. Meanwhile, the application data to be compiled can be divided into a plurality of compiling modules, specific compiling mirror image components required by compiling processing of the compiling modules and compiling dependency relations among the compiling mirror image components are configured in advance, and the compiling modules are respectively compiled based on the preconfigured data. By utilizing the embodiments of the specification, the application compiling process can be split in a modularization mode, the free assembly and construction process is realized, and the compiling efficiency is improved; meanwhile, a user does not need to repeatedly compile complicated construction scripts, and compiling complexity and working cost can be reduced.
The present specification also provides a compilation system that may be a stand-alone compilation system or may be implemented in a variety of computer data processing systems. The system may be a single server, or may include a server cluster, a system (including a distributed system), software (applications), an actual operating device, a logic gate device, a quantum computer, etc. using one or more of the methods or one or more of the example devices of the present specification, in combination with a terminal device implementing hardware as necessary. The compiling system may comprise at least one processor and a memory storing computer executable instructions which, when executed by the processor, implement the steps of the method described in any one or more of the embodiments above.
In one or more embodiments of the present description, the compilation system may include a standard image repository, a builder, and a version repository. The standard mirror image warehouse may be provided with a compiling mirror image component, the version library may be provided with application data to be compiled and a compiling description file of the application data to be compiled, and the application data to be compiled may include a plurality of compiling modules.
The building machine may obtain the compilation description file from the version library according to a building request, where the building request may include identification information of the application data to be compiled;
the building machine can obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
the building machine can obtain the compiling module of the application data to be compiled from the version library according to the source code path data and the compiling module identification;
the building machine can call the compiled mirror image component from the standard mirror image warehouse according to the obtained component identifier corresponding to the compiled module;
the building machine can utilize the called compiling mirror image component to compile the obtained compiling module to obtain a compiling result.
It should be noted that the above-mentioned system may also include other implementation manners according to the description of the method or apparatus embodiment, and specific implementation manners may refer to the description of the related method embodiment, which is not described in detail herein.
The compiling system according to the above embodiment may implement the compiling process of the application data to be compiled by configuring the compiling mirror image component in advance and using the compiling mirror image component. Meanwhile, the application data to be compiled can be divided into a plurality of compiling modules, specific compiling mirror image components required by compiling processing of the compiling modules and compiling dependency relations among the compiling mirror image components are configured in advance, and the compiling modules are respectively compiled based on the preconfigured data. By utilizing the embodiments of the specification, the application compiling process can be split in a modularization mode, the free assembly and construction process is realized, and the compiling efficiency is improved; meanwhile, a user does not need to repeatedly compile complicated construction scripts, and compiling complexity and working cost can be reduced.
It should be noted that, the above-mentioned apparatus or system in this specification may also include other implementation manners according to the description of the related method embodiment, and a specific implementation manner may refer to the description of the method embodiment, which is not described herein in detail. The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the hardware + program class, storage medium + program embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for the relevant points, refer to the partial description of the method embodiment.
The embodiments of the present description are not limited to what must be consistent with a standard data model/template or described in the embodiments of the present description. Certain industry standards, or implementations modified slightly from those described using custom modes or examples, may also achieve the same, equivalent, or similar, or other, contemplated implementations of the above-described examples. The embodiments using these modified or transformed data acquisition, storage, judgment, processing, etc. may still fall within the scope of the alternative embodiments of the present description.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, when implementing one or more of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, etc. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may therefore be considered as a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
It should also be noted that 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 like elements in a process, method or apparatus that comprises the element.
As will be appreciated by one skilled in the art, one or more embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
One or more embodiments of the present description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment. In the description of the specification, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is only an example of the present specification, and is not intended to limit the present specification. Various modifications and alterations to this description will become apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification should be included in the scope of the claims of the present specification.

Claims (12)

1. A compiling method is applied to a compiling system, the system comprises a standard mirror image warehouse, a builder and a version library, a compiling mirror image component is arranged in the standard mirror image warehouse, application data to be compiled is arranged in the version library, the application data to be compiled comprises a plurality of compiling modules, and the builder executes at least the following modes to realize compiling of the application data to be compiled:
acquiring a compiling description file of the application data to be compiled;
analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
acquiring a compiling module of the application data to be compiled from the version library according to the source code path data and the compiling module identification;
calling a compiling mirror image component from the standard mirror image warehouse according to the component identification corresponding to the obtained compiling module;
and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result.
2. The method of claim 1, wherein after parsing the compilation description file, further comprising: a compilation run step is obtained that includes compiling dependencies between the compiling modules.
3. The method of claim 2, further comprising:
and performing parallel compiling processing on the compiling module without compiling dependency relationship on the building machine, and performing compiling processing on the compiling module with compiling dependency relationship on the building machine based on the compiling dependency relationship.
4. The method according to claim 1, wherein the application data to be compiled is incremental source program data after the version of the application to be compiled is updated;
before the calling of the compilation mirror image component, the method further comprises the following steps:
judging whether the compiling module is empty or not, if not, calling a compiling mirror image component from the standard mirror image warehouse according to a component identifier corresponding to the compiling module; if empty, the compilation module is skipped.
5. The method according to any one of claims 1 to 4, wherein the compiling the obtained compiling module by using the called compiling mirror component comprises:
and running the called compiling mirror image component to start the container, compiling the compiling module in the container by using the called compiling mirror image component, and destroying the container after the compiling process of the called compiling mirror image component is finished.
6. The method of any of claims 1-4, wherein the compilation description file further comprises compilation run parameter data for a compilation image component;
the compiling processing of the obtained compiling module by using the called compiling mirror image component comprises the following steps:
and compiling the obtained compiling module by using the called compiling mirror image component and the called compiling running parameter data of the compiling component.
7. The method of claim 2, further comprising:
and after the compiling operation step is judged to be completed, packing the compiling results of all compiling modules to obtain the version package of the application data to be compiled.
8. The method of claim 1, wherein the compiled mirror components include one or more of a MAVEN mirror, a NODEJS mirror, a DB mirror, a WAS mirror, a JAVA mirror, a COPY mirror, a PAAS mirror, a PYTHON mirror, a LIBERTY mirror, a CHECK mirror, a GO mirror.
9. A method of compiling, the method comprising:
acquiring a compiling description file of application data to be compiled, wherein the application data to be compiled comprises a plurality of compiling modules;
analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
acquiring a compiling module of the application data to be compiled according to the source code path data and the compiling module identification;
calling a compiling mirror image component according to the component identifier corresponding to the obtained compiling module;
and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result.
10. A compiling apparatus characterized by comprising:
the data acquisition module is used for acquiring a compiling description file of the application data to be compiled, and the application data to be compiled comprises a plurality of compiling modules;
the data analysis module is used for analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
the source program acquisition module is used for acquiring a compiling module of the application data to be compiled according to the source code path data and the compiling module identification;
the compiling mirror image calling module is used for calling the compiling mirror image component according to the component identifier corresponding to the obtained compiling module;
and the compiling processing module is used for compiling the obtained compiling module by utilizing the called compiling mirror image component to obtain a compiling result.
11. A compiling device comprising a processor and a memory for storing processor-executable instructions that, when executed by the processor, implement steps comprising:
acquiring a compiling description file of application data to be compiled, wherein the application data to be compiled comprises a plurality of compiling modules;
analyzing the compiling description file to obtain a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to the compiling module;
acquiring a compiling module of the application data to be compiled according to the source code path data and the compiling module identification;
calling a compiling mirror image component according to the component identifier corresponding to the obtained compiling module;
and compiling the obtained compiling module by using the called compiling mirror image component to obtain a compiling result.
12. A compiling system is characterized by comprising a standard mirror image warehouse, a building machine and a version library, wherein a compiling mirror image component is arranged in the standard mirror image warehouse, application data to be compiled and a compiling description file of the application data to be compiled are arranged in the version library, and the application data to be compiled comprise a plurality of compiling modules;
the building machine acquires the compiling description file from the version library according to a building request, wherein the building request comprises identification information of the application data to be compiled;
the building machine analyzes the compiling description file, and obtains a compiling module identifier, source code path data and a component identifier of a compiling mirror image component corresponding to a compiling module;
the building machine acquires a compiling module of the application data to be compiled from the version library according to the source code path data and the compiling module identification;
the building machine calls the compiling mirror image component from the standard mirror image warehouse according to the obtained component identification corresponding to the compiling module;
and the building machine utilizes the called compiling mirror image component to compile the obtained compiling module to obtain a compiling result.
CN201910908789.3A 2019-09-25 2019-09-25 Compiling method, device and system Active CN110673853B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910908789.3A CN110673853B (en) 2019-09-25 2019-09-25 Compiling method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910908789.3A CN110673853B (en) 2019-09-25 2019-09-25 Compiling method, device and system

Publications (2)

Publication Number Publication Date
CN110673853A true CN110673853A (en) 2020-01-10
CN110673853B CN110673853B (en) 2023-09-15

Family

ID=69079125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910908789.3A Active CN110673853B (en) 2019-09-25 2019-09-25 Compiling method, device and system

Country Status (1)

Country Link
CN (1) CN110673853B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552508A (en) * 2020-04-29 2020-08-18 杭州数梦工场科技有限公司 Application program version construction method and device and electronic equipment
CN111651147A (en) * 2020-05-31 2020-09-11 四川亨通网智科技有限公司 System quick building assembly
CN111708541A (en) * 2020-06-22 2020-09-25 深圳市友华通信技术有限公司 Method and device for compiling mirror image file
CN111897548A (en) * 2020-07-24 2020-11-06 平安证券股份有限公司 Front-end resource publishing method and device, electronic equipment and computer storage medium
CN112114814A (en) * 2020-09-22 2020-12-22 北京达佳互联信息技术有限公司 Compiled file determining method and device and application program generating method and device
CN112363803A (en) * 2020-11-13 2021-02-12 浪潮电子信息产业股份有限公司 Mirror image construction method, system, device and medium
CN112558981A (en) * 2020-12-23 2021-03-26 上海万向区块链股份公司 Custom compiling and deploying method and system based on jenkinsfile
CN112783508A (en) * 2021-02-01 2021-05-11 北京百度网讯科技有限公司 File compiling method, device, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136881A1 (en) * 2004-12-16 2006-06-22 International Business Machine Corporation System and method for grid-based distribution of Java project compilation
CN108984179A (en) * 2018-06-28 2018-12-11 北京奇安信科技有限公司 Process of compilation method and device under a kind of Linux
CN109871213A (en) * 2018-12-25 2019-06-11 武汉烽火信息集成技术有限公司 OpenStack containerization system and method based on Domestic Platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136881A1 (en) * 2004-12-16 2006-06-22 International Business Machine Corporation System and method for grid-based distribution of Java project compilation
CN108984179A (en) * 2018-06-28 2018-12-11 北京奇安信科技有限公司 Process of compilation method and device under a kind of Linux
CN109871213A (en) * 2018-12-25 2019-06-11 武汉烽火信息集成技术有限公司 OpenStack containerization system and method based on Domestic Platform

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552508B (en) * 2020-04-29 2023-03-14 杭州数梦工场科技有限公司 Application program version construction method and device and electronic equipment
CN111552508A (en) * 2020-04-29 2020-08-18 杭州数梦工场科技有限公司 Application program version construction method and device and electronic equipment
CN111651147A (en) * 2020-05-31 2020-09-11 四川亨通网智科技有限公司 System quick building assembly
CN111651147B (en) * 2020-05-31 2023-06-30 四川亨通网智科技有限公司 Method for quickly building assembly by system
CN111708541A (en) * 2020-06-22 2020-09-25 深圳市友华通信技术有限公司 Method and device for compiling mirror image file
CN111897548A (en) * 2020-07-24 2020-11-06 平安证券股份有限公司 Front-end resource publishing method and device, electronic equipment and computer storage medium
CN111897548B (en) * 2020-07-24 2023-11-10 平安证券股份有限公司 Front-end resource issuing method and device, electronic equipment and computer storage medium
CN112114814A (en) * 2020-09-22 2020-12-22 北京达佳互联信息技术有限公司 Compiled file determining method and device and application program generating method and device
CN112363803B (en) * 2020-11-13 2022-06-07 浪潮电子信息产业股份有限公司 Mirror image construction method, system, device and medium
CN112363803A (en) * 2020-11-13 2021-02-12 浪潮电子信息产业股份有限公司 Mirror image construction method, system, device and medium
CN112558981A (en) * 2020-12-23 2021-03-26 上海万向区块链股份公司 Custom compiling and deploying method and system based on jenkinsfile
CN112558981B (en) * 2020-12-23 2024-02-06 上海万向区块链股份公司 Custom compiling and deploying method and system based on jenkinsfile
CN112783508A (en) * 2021-02-01 2021-05-11 北京百度网讯科技有限公司 File compiling method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN110673853B (en) 2023-09-15

Similar Documents

Publication Publication Date Title
CN110673853B (en) Compiling method, device and system
CN109766099B (en) Front-end source code compiling method and device, storage medium and computer equipment
CN109032631B (en) Application program patch package obtaining method and device, computer equipment and storage medium
CN111309335B (en) Compiling method and device of plug-in application and computer readable storage medium
CN108897547B (en) Software automation deployment method and device
CN105487907A (en) Difference package manufacturing method and device
CN110569250B (en) Management method and device for analysis library of Internet of things network element
CN111897570A (en) Multi-dependency file extraction method and device based on Maven plug-in
CN105335173A (en) Method, apparatus and system for initializing intelligent terminal device
CN104375849A (en) Core loading method and device
CN106569880B (en) Method and system for dynamically sharing resources between Android applications
CN112463123A (en) Task compiling method, device, network node, system and storage medium
CN111176717A (en) Method and device for generating installation package and electronic equipment
CN110750315B (en) Class loading method, device, equipment and storage medium in Android system
CN111158743B (en) Big data operation and maintenance management platform
CN104699503A (en) Method and device for replacing function execution logic in Android system
CN115061717A (en) Application management method, application subscription method and related equipment
CN112000334A (en) Page development method, device, server and storage medium
CN103530165B (en) A kind of java solution that is applied to Internet of Things industry
CN114064083A (en) Method for deploying cloud native application through self-defined template in configuration center and application
CN107544813B (en) Switching method and system for static library configuration
CN117707543A (en) Application installation package manufacturing and installation method, computing device and storage medium
CN110968339B (en) Method and device for front-end building tool and electronic equipment
CN110806891A (en) Method and device for generating software version of embedded equipment
CN117055848A (en) Front-end multi-module federation development method and system

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