CN117555549A - Automatic compiling method and related device - Google Patents

Automatic compiling method and related device Download PDF

Info

Publication number
CN117555549A
CN117555549A CN202311515249.1A CN202311515249A CN117555549A CN 117555549 A CN117555549 A CN 117555549A CN 202311515249 A CN202311515249 A CN 202311515249A CN 117555549 A CN117555549 A CN 117555549A
Authority
CN
China
Prior art keywords
compiling
target
source code
environment
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311515249.1A
Other languages
Chinese (zh)
Inventor
潘怿骏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boc Financial Technology Suzhou Co ltd
Original Assignee
Boc Financial Technology Suzhou 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 Boc Financial Technology Suzhou Co ltd filed Critical Boc Financial Technology Suzhou Co ltd
Priority to CN202311515249.1A priority Critical patent/CN117555549A/en
Publication of CN117555549A publication Critical patent/CN117555549A/en
Pending legal-status Critical Current

Links

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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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

Landscapes

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

Abstract

The application provides an automated compiling method and a related device, which can be used in the financial field or other fields. When target source codes in target compiling environments need to be compiled, pulling target source codes from source code warehouses which are pre-configured with the compiling environments suitable for all clients, pulling target dependency libraries required by target source code compiling from dependency library warehouses which are pre-configured with the compiling environments suitable for all clients, automatically compiling the target source codes by combining the target dependency libraries through a compiling tool to obtain compiled components, and storing the compiled components in folders in the pre-configured target compiling environments. The source code warehouse and the dependency library warehouse are preconfigured, so that automatic compiling can be performed at the target client; the compiling tool can accurately compile an operating system where the client is located, and even if the operating system where the client is located is a non-Linux system, the compiling tool can accurately and automatically compile the client, so that user experience is improved.

Description

Automatic compiling method and related device
Technical Field
The present disclosure relates to the field of compiling technologies, and in particular, to an automated compiling method and related devices.
Background
Along with the continuous development of intelligent technology, the technology of automatically compiling software codes is more and more favored by software developers, the current automatic compiling scheme is realized based on Jenkins, specifically, after the software developers submit the software codes, the Jenkins server is notified, the Jenkins acquires the software source codes through a source code library, and then a Maven plug-in is called to perform automatic compiling operation.
Because the automatic compiling scheme does not need manual participation of a software developer, the experience of the software developer is improved. However, the automated compiling scheme described above has the following disadvantages: first, the present automated compiling scheme is mainly applied to the world wide web (web) end, but many present scenes require that the automated compiling scheme can be applied to the client, however, the present automated compiling scheme cannot be applied to the client due to the complex and diverse environments of the client computer installed by the client, and the user experience is poor; secondly, jenkins are mainly developed based on java, so that the current automatic compiling scheme mainly operates on a Linux system, has poor compatibility to a non-Linux system, but computers used by many users nowadays are all non-Linux systems, so that many users cannot use the non-Linux system to perform automatic compiling, and user experience is further reduced.
Disclosure of Invention
In view of this, the present application provides an automated compiling method and related device, which are used for solving the problem that an automated compiling scheme in the prior art cannot be applied to a non-Linux system and a client, and the technical scheme is as follows:
an automated compiling method, comprising:
when a target source code in a target compiling environment is required to be compiled, pulling the target source code from a source code warehouse which is preconfigured with the compiling environments applicable to all clients, wherein the target compiling environment refers to the compiling environment where the target client is located;
pulling a target dependency library required by compiling the target source code from a dependency library warehouse which is preconfigured with compiling environments applicable to all clients, wherein the target dependency library is matched with the target compiling environments;
automatically compiling the target source code by combining a preset compiling tool with the target dependency library to obtain a compiled assembly, wherein the compiling tool can accurately compile an operating system where the target client is located;
and storing the compiled assembly into a preset folder in the target compiling environment.
Optionally, the process of determining whether the target source code needs compiling includes:
after the fact that the target source code is submitted to the source code warehouse is detected, judging whether the target source code contains preset keywords or not, wherein the preset keywords are enabling labels for automatic compiling of the target source code;
if yes, determining that the target source code needs to be compiled.
Optionally, the determining whether the target source code includes a preset keyword includes:
judging whether the target source code contains preset keywords or not through a target platform where the preset compiling tool is located.
Optionally, the operating system where the client is located is a Windows operating system, the target platform is a teambity platform, and the preset compiling tool is an msbuild tool.
Optionally, the target compiling environment is a compiling environment under a 64-bit operating system or a compiling environment under a 32-bit operating system.
An automated compiling apparatus, comprising:
the source code pulling module is used for pulling the target source code from a source code warehouse which is pre-configured with the compiling environments applicable to all clients when the target source code in the target compiling environment needs to be compiled, wherein the target compiling environment refers to the compiling environment where the target client is located;
a dependency library pulling module, configured to pull a target dependency library required by the target source code compilation from a dependency library repository that is preconfigured with a compilation environment applicable to all clients, where the target dependency library is matched with the target compilation environment;
the automatic compiling module is used for automatically compiling the target source code through a preset compiling tool in combination with the target dependency library to obtain a compiled assembly, wherein the compiling tool can accurately compile an operating system where the target client is located;
and the compiling component storage module is used for storing the compiled components into a preset folder in the target compiling environment.
Optionally, the process of determining whether the target source code needs compiling by the source code pulling module includes:
after the fact that the target source code is submitted to the source code warehouse is detected, judging whether the target source code contains preset keywords or not, wherein the preset keywords are enabling labels for automatic compiling of the target source code;
if yes, determining that the target source code needs to be compiled.
Optionally, when the source code pulling module determines whether the target source code includes a preset keyword, the source code pulling module is specifically configured to:
judging whether the target source code contains preset keywords or not through a target platform where the preset compiling tool is located.
An electronic device includes a memory and a processor;
the memory is used for storing programs;
the processor is configured to execute the program to implement the steps of the automated compiling method according to any one of the preceding claims.
A readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of an automated compiling method according to any preceding claim.
According to the technical scheme, when the target source codes in the target compiling environment are required to be compiled, the target source codes are pulled from the source code warehouse which is pre-configured with the compiling environment suitable for all clients, the target dependency libraries required by target source code compiling are pulled from the dependency library warehouse which is pre-configured with the compiling environment suitable for all clients, then the target source codes are automatically compiled by combining with the target dependency libraries through a preset compiling tool, compiled components are obtained, and finally the compiled components are stored in folders in the pre-configured target compiling environment. Therefore, the source code warehouse is configured with source codes suitable for the compiling environments of all clients in advance, and the dependency library warehouse is configured with the dependency libraries suitable for the compiling environments of all clients, so that automatic compiling is required, target source codes and target dependency libraries in the target compiling environments of target clients can be pulled, automatic compiling can be performed on the target clients, and user experience is improved; meanwhile, the compiling tool in the method can accurately compile the operating system of the client, so that even if the operating system of the client is a non-Linux system, automatic compiling can be accurately performed based on the compiling tool, and user experience is further improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only embodiments of the present application, and that other drawings may be obtained according to the provided drawings without inventive effort to a person skilled in the art.
Fig. 1 is a schematic flow chart of an automation method according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a configuration interface of a source code repository according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a component library generated after compiling provided in an embodiment of the present application;
FIG. 4 is a schematic diagram of the details of the compiled assembly provided by the embodiments of the present application;
FIG. 5 is a schematic diagram of parameters of a compiling environment under a 64-bit operating system according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an automation device according to an embodiment of the present disclosure;
fig. 7 is a block diagram of a hardware structure of an electronic device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
The terms referred to in this application will be first described.
RPA (Robotic Process Automation, robot process automation) is a business process automation platform and tool based on software robotics and Artificial Intelligence (AI) technology. The RPA mainly enables a user to generate an automatic flow by utilizing a drag control and simple operation through various packaged controls, and realizes automatic mouse clicking, keyboard input, excel operation, data processing, timing execution and automatic interface interaction generation of a browser application program on a computer. The RPA robot configured on intelligent equipment such as a computer simulates the steps of a flow, does not affect the existing IT infrastructure, accelerates background tasks, simulates human operation behaviors, and replaces people to complete large-batch, repetitive and rule-based work tasks. At present, the mainstream RPA products are all based on a C/S (client and server) architecture, a client runs on a client computer, and a server comprises functions of scheduling, monitoring, logging and the like.
As described in the background art, the present automated compiling scheme can be applied to a web end under a B/S (browser and server) architecture, but because the compiling environments of the client end and the web end are different (one of the main differences between the web end and the client end is that the program compiled by the web end is deployed on a server of the client end, unified server environment parameters and the like can be specified, the environment is relatively simple, the client end is mainly installed on a client computer, and the computer environment is complex and diverse), the dependency packages required by compiling are different, and further the present automated compiling scheme cannot be directly applied to the client end under a C/S architecture.
In addition, many plug-ins in Jenkins cannot be suitable for non-Linux systems, and many users at present use computers of non-Linux systems, so that many users cannot automatically compile in own computers, and experience is poor.
In view of the above technical problems, the present inventors have conducted intensive studies and have provided an automated compiling method and related apparatus that can be applied to a non-Linux system and can be applied to a client, and the automated compiling method and related apparatus provided in the present application will be described in detail by the following embodiments.
It should be noted that the automated compiling method and the related device provided by the present application may be used in the financial field or other fields, for example, may be used in an application scenario for automatically compiling financial software codes in the financial field. Other fields are any field other than the financial field, such as the computer field. The foregoing is merely an example, and is not intended to limit the application fields of the automated compiling method and related apparatus provided in the present application.
Referring to fig. 1, a flow chart of an automated compiling method according to an embodiment of the present application is shown, where the automated compiling method may include:
step S101, when the target source code in the target compiling environment needs to be compiled, pulling the target source code from a source code warehouse which is pre-configured with the compiling environments applicable to all clients.
The target compiling environment refers to a compiling environment where the target client is located.
Specifically, the inventor of the present application studied and summarized the compiling environments of all clients, and obtained source codes applicable to the compiling environments of all clients on the study result, and configured a source code warehouse (git warehouse) based on the obtained source codes.
As shown in fig. 2, in order to provide a schematic configuration interface diagram of a source code repository according to an embodiment of the present application, the present embodiment may configure a git repository at the interface shown in fig. 2, to obtain a source code repository including source codes applicable to all client sides' compiling environments.
Then, when the target source code in the compiling environment of the target client needs to be compiled, the target source code can be pulled from the configured source code warehouse.
It should be noted that the compiling environments of different clients may be different, for example, the target compiling environment may be a compiling environment under a 64-bit operating system or a compiling environment under a 32-bit operating system.
Optionally, in order to adapt to the compiling environments where the clients are located, when configuring the source code repository, the embodiment may configure the source code repository corresponding to each compiling environment (for example, configure the git repository of two versions of 32 bits and 64 bits), so that when pulling the target source code, this step needs to pull the target source code from the source code repository corresponding to the target compiling environment.
Step S102, pulling a target dependency library required by target source code compiling from a dependency library warehouse which is pre-configured with compiling environments applicable to all clients.
Wherein the target dependency library matches the target compilation environment.
It is known to those skilled in the art that, for large software source code, functions in at least one dependency library are usually called to simplify the code amount, and functions of the same function may have different manifestations in different compiling environments, so that in order to enable automatic compiling under multiple compiling environments, the embodiment needs to configure a dependency library warehouse suitable for all the compiling environments of the clients.
The process of configuring the dependency library repository is similar to the process of configuring the source code repository described above, and reference is made to the foregoing description for details, and details are not repeated here.
Alternatively, the dependency library may be a nuget package dependency library.
After the dependency library warehouse is configured, if automatic compiling is required to be performed on the target source code, the target dependency library required by target source code compiling is also required to be pulled from the dependency library warehouse, and the target dependency library required by target source code compiling is namely the dependency library where the function called by the target source code is located.
And step S103, automatically compiling the target source code by combining a target dependency library through a preset compiling tool to obtain a compiled assembly.
The compiling tool can perform correct compiling on an operating system where the target client is located.
In view of the fact that many plug-ins of Jenkins cannot be suitable for non-Linux systems, in order to successfully perform automated compiling in the non-Linux systems, a compiling tool capable of performing correct compiling in an operating system where a target client is located is developed in advance, so that the compiling tool can be combined with a target dependency library to perform automated compiling on target source codes to obtain compiled components.
Referring to fig. 3 and fig. 4, fig. 3 is a schematic diagram of a component library generated after compiling provided in an embodiment of the present application, and fig. 4 is a schematic diagram of specific content of a component after compiling provided in an embodiment of the present application. As shown in FIG. 3, the component library generated after compiling is composed of a plurality of folders, taking the superRPA. Office component shown in FIG. 3 as an example, and the specific content of the component is shown in FIG. 4.
Alternatively, the compiled component may be a dll (Dynamic Link Library, dynamically linked library) component.
Optionally, the process of automatically compiling the target source code by combining a preset compiling tool with the target dependency library to obtain the compiled assembly may include: and automatically compiling the target source code by combining the target dependency library through a plurality of preset command line parameters by using a preset compiling tool.
Taking the compiling environment under the 64-bit operating system as an example, the above-mentioned command line parameters may be shown in fig. 5, which shows a parameter schematic diagram of the compiling environment under the 64-bit operating system provided in the embodiment of the present application. Command line parameters of a compilation environment for automated compilation may be entered at the interface shown in fig. 5 such that a compilation tool may perform automated compilation based upon the entered command line parameters.
And step S104, storing the compiled assembly into a file folder in a pre-configured target compiling environment.
In this embodiment, different folders are preset for each compiling environment, so that compiled components obtained under each compiling environment are placed in different folders for distinction, and then the corresponding relationship between each file and the corresponding compiling environment needs to be preconfigured, and then the compiled components can be stored based on the corresponding relationship.
Specifically, for the compiled assembly obtained in the above step, the step may store the compiled assembly in a folder under a pre-configured target compiling environment. When the user needs to use the software corresponding to the target source code, the corresponding compiled assembly can be pulled from the folder in the target compiling environment, and then the software corresponding to the target source code can be obtained based on the compiled assembly.
According to the automatic compiling method, when target source codes in target compiling environments are required to be compiled, the target source codes are pulled from source code warehouses which are pre-configured with the compiling environments applicable to all clients, target dependency libraries required by target source code compiling are pulled from dependency library warehouses which are pre-configured with the compiling environments applicable to all clients, then the target source codes are automatically compiled through a preset compiling tool in combination with the target dependency libraries, compiled components are obtained, and finally the compiled components are stored in folders in the pre-configured target compiling environments. Therefore, the source code warehouse is configured with source codes suitable for the compiling environments of all clients in advance, and the dependency library warehouse is configured with the dependency libraries suitable for the compiling environments of all clients, so that automatic compiling is required, target source codes and target dependency libraries in the target compiling environments of target clients can be pulled, automatic compiling can be performed on the target clients, and user experience is improved; meanwhile, the compiling tool in the method can accurately compile the operating system of the client, so that even if the operating system of the client is a non-Linux system, automatic compiling can be accurately performed based on the compiling tool, and user experience is further improved.
In some embodiments of the present application, the process of determining whether the target source code needs to be compiled in step S101 is described.
In one possible implementation, it may be determined by a relevant person whether automated compiling of the target source code is required, and if so, a compiling instruction is initiated, so that the present application may pull the target source code from a source code repository that has been pre-configured with a compiling environment applicable to all clients.
In another possible implementation manner, considering that the version iteration update of the source code may be faster, it is often required to update the source code under each version, for example, repair a program bug to obtain a new version, if related personnel cannot timely learn whether the source code under each version is updated, automatic compiling operation may not be timely performed, so that a user can only continue to use software with the program bug, and user experience is poor.
In order to enable automatic compiling in time, optionally, the process of determining whether the target source code needs compiling may include: after the target source code is detected to be submitted to the source code warehouse, judging whether the target source code contains preset keywords, if yes, determining that the target source code needs to be compiled.
Here, the preset keyword is an enabling tag for performing automated compiling for the target source code. That is, when a source code (e.g., a target source code) needs to be compiled automatically in time, the source code may be tagged with a preset keyword and then submitted to the source code repository. Meanwhile, the source code warehouse can be monitored all the time, if the source code comprising the preset keywords is submitted in the source code warehouse, the source code is required to be automatically compiled in time, and then an event of automatic compilation can be triggered so as to automatically compile according to the steps S101 to S104.
Optionally, the preset keyword is a build keyword. Of course, the preset keywords may be other, which is not specifically limited in this application.
In an optional embodiment, the preset compiling tool may also be a tool on a target platform, and in this embodiment, whether the target source code includes a preset keyword may also be determined through the target platform on which the preset compiling tool is located.
Taking the field of banks as an example, the inventor discovers that most of computers used by business staff in banks are Windows systems after carefully researching the computers used by the business staff in banks, and many RPA products are developed based on Microsoft's net framework, and the framework has strong functions and excellent performances for Windows systems.
Therefore, if the operating system where the client is located is a Windows operating system, in order to enable the compiling tool on the target platform to successfully compile in the Windows operating system, the target platform may be optionally a more friendly teambity platform for net, and the preset compiling tool may be an msbuild tool on the teambity platform.
In summary, aiming at the fact that the prior art cannot be applied to a non-Linux system, a target platform (such as a teambity platform) which is friendly to non-Linux is innovatively used, through preconfiguring the environments such as a git library, a dependency package environment, a compiling script and the like of the compiling environment where each client is located, a follow-up software developer can automatically compile a dll component library applicable to a plurality of environments simultaneously when compiling is needed, so that the more complex compiling environment of a user is met, the full-flow automation is realized, the risk of human errors is reduced (for example, a 32-bit dependency package is used by source code of 64 during automatic compiling), and the efficiency is improved.
The embodiment of the application further provides an automated compiling device, and the automated compiling device provided by the embodiment of the application is described below, and the automated compiling device described below and the automated compiling method described above can be correspondingly referred to each other.
Referring to fig. 6, a schematic structural diagram of an automated compiling apparatus according to an embodiment of the present application is shown, and as shown in fig. 6, the automated compiling apparatus may include: a source code pulling module 601, a dependent library pulling module 602, an automated compiling module 603 and a compiling component storing module 604.
The source code pulling module 601 is configured to, when a target source code in a target compiling environment is required to be compiled, pull the target source code from a source code repository configured with a compiling environment applicable to all clients in advance, where the target compiling environment is the compiling environment where the target client is located.
The dependency library pulling module 602 is configured to pull a target dependency library required for target source code compilation from a dependency library repository that is preconfigured with a compilation environment applicable to all clients, where the target dependency library matches the target compilation environment.
And the automated compiling module 603 is configured to automatically compile the target source code by combining a preset compiling tool with the target dependency library to obtain a compiled component, where the compiling tool can perform correct compiling on an operating system where the target client is located.
And the compiling component storing module 604 is configured to store the compiled component in a folder in a pre-configured target compiling environment.
According to the automatic compiling device, when target source codes in target compiling environments need to be compiled through the source code pulling module, the target source codes are pulled from source code warehouses which are preset to be suitable for all client-side compiling environments, target dependency libraries required by target source code compiling are pulled from dependency library warehouses which are preset to be suitable for all client-side compiling environments through the dependency library pulling module, then the target source codes are automatically compiled through the automatic compiling module through a preset compiling tool in combination with the target dependency libraries, compiled components are obtained, and finally the compiled components are stored into file folders in the preset target compiling environments through the compiling component storage module. Therefore, the source code warehouse is configured with source codes suitable for the compiling environments of all clients in advance, and the dependency library warehouse is configured with the dependency libraries suitable for the compiling environments of all clients, so that automatic compiling is required, target source codes and target dependency libraries in the target compiling environments of target clients can be pulled, automatic compiling can be performed on the target clients, and user experience is improved; meanwhile, the compiling tool in the method can accurately compile the operating system of the client, so that even if the operating system of the client is a non-Linux system, automatic compiling can be accurately performed based on the compiling tool, and user experience is further improved.
In one possible implementation manner, the process of determining whether the target source code needs to be compiled by the source code pulling module may include:
after the fact that the target source code is submitted to a source code warehouse is detected, judging whether the target source code contains preset keywords or not, wherein the preset keywords are enabling labels for automatic compiling of the target source code;
if yes, determining that the target source code needs to be compiled.
In one possible implementation manner, the source code pulling module may be specifically configured to, when determining whether the target source code includes the preset keyword: judging whether the target source code contains preset keywords or not through a target platform where a preset compiling tool is located.
In one possible implementation manner, the operating system where the client is located is a Windows operating system, the target platform is a teambity platform, and the preset compiling tool is an msbuild tool.
In one possible implementation, the target compiling environment is a compiling environment under a 64-bit operating system or a compiling environment under a 32-bit operating system.
The embodiment of the application also provides electronic equipment. Alternatively, fig. 7 shows a block diagram of a hardware structure of an electronic device, and referring to fig. 7, the hardware structure of the electronic device may include: at least one processor 1, at least one communication interface 2, at least one memory 3 and at least one communication bus 4;
in the embodiment of the application, the number of the processor 1, the communication interface 2, the memory 3 and the communication bus 4 is at least one, and the processor 1, the communication interface 2 and the memory 3 complete communication with each other through the communication bus 4;
processor 1 may be a central processing unit CPU, or a specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement embodiments of the present invention, etc.;
the memory 3 may comprise a high-speed RAM memory, and may further comprise a non-volatile memory (non-volatile memory) or the like, such as at least one magnetic disk memory;
wherein the memory 3 stores a program, the processor 1 may call the program stored in the memory 3, the program being for:
when the target source code in the target compiling environment is required to be compiled, pulling the target source code from a source code warehouse which is preconfigured with the compiling environments applicable to all clients, wherein the target compiling environment refers to the compiling environment in which the target client is located;
pulling a target dependency library required by target source code compilation from a dependency library warehouse which is preconfigured with compilation environments applicable to all clients, wherein the target dependency library is matched with the target compilation environment;
automatically compiling the target source code by combining a preset compiling tool with a target dependency library to obtain a compiled assembly, wherein the compiling tool can accurately compile an operating system where a target client is located;
and storing the compiled assembly into a file folder in a pre-configured target compiling environment.
Alternatively, the refinement function and the extension function of the program may be described with reference to the above.
Finally, it is further noted that relational terms such as second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, 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 one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In the present specification, each embodiment is described in a progressive manner, and each embodiment is mainly described in a different point from other embodiments, and identical and similar parts between the embodiments are all enough to refer to each other.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. An automated compiling method, comprising:
when a target source code in a target compiling environment is required to be compiled, pulling the target source code from a source code warehouse which is preconfigured with the compiling environments applicable to all clients, wherein the target compiling environment refers to the compiling environment where the target client is located;
pulling a target dependency library required by compiling the target source code from a dependency library warehouse which is preconfigured with compiling environments applicable to all clients, wherein the target dependency library is matched with the target compiling environments;
automatically compiling the target source code by combining a preset compiling tool with the target dependency library to obtain a compiled assembly, wherein the compiling tool can accurately compile an operating system where the target client is located;
and storing the compiled assembly into a preset folder in the target compiling environment.
2. The automated compiling method of claim 1, wherein the process of determining whether the target source code requires compiling comprises:
after the fact that the target source code is submitted to the source code warehouse is detected, judging whether the target source code contains preset keywords or not, wherein the preset keywords are enabling labels for automatic compiling of the target source code;
if yes, determining that the target source code needs to be compiled.
3. The automated compiling method of claim 2, wherein the determining whether the target source code includes a preset keyword comprises:
judging whether the target source code contains preset keywords or not through a target platform where the preset compiling tool is located.
4. The automated compiling method according to claim 3, wherein the operating system in which the client is located is a Windows operating system, the target platform is a teambity platform, and the preset compiling tool is an msbuild tool.
5. The automated compiling method of claim 1, wherein the target compiling environment is a compiling environment under a 64-bit operating system or a compiling environment under a 32-bit operating system.
6. An automated compiling apparatus, comprising:
the source code pulling module is used for pulling the target source code from a source code warehouse which is pre-configured with the compiling environments applicable to all clients when the target source code in the target compiling environment needs to be compiled, wherein the target compiling environment refers to the compiling environment where the target client is located;
a dependency library pulling module, configured to pull a target dependency library required by the target source code compilation from a dependency library repository that is preconfigured with a compilation environment applicable to all clients, where the target dependency library is matched with the target compilation environment;
the automatic compiling module is used for automatically compiling the target source code through a preset compiling tool in combination with the target dependency library to obtain a compiled assembly, wherein the compiling tool can accurately compile an operating system where the target client is located;
and the compiling component storage module is used for storing the compiled components into a preset folder in the target compiling environment.
7. The automated compiling apparatus of claim 6, wherein the process of the source code pulling module determining whether the target source code requires compiling comprises:
after the fact that the target source code is submitted to the source code warehouse is detected, judging whether the target source code contains preset keywords or not, wherein the preset keywords are enabling labels for automatic compiling of the target source code;
if yes, determining that the target source code needs to be compiled.
8. The automated compiling apparatus according to claim 7, wherein the source code pulling module is configured to, when determining whether the target source code includes a preset keyword:
judging whether the target source code contains preset keywords or not through a target platform where the preset compiling tool is located.
9. An electronic device comprising a memory and a processor;
the memory is used for storing programs;
the processor is configured to execute the program to implement the steps of the automated compiling method according to any one of claims 1 to 5.
10. A readable storage medium having stored thereon a computer program, which, when executed by a processor, implements the steps of the automated compiling method according to any one of claims 1 to 5.
CN202311515249.1A 2023-11-14 2023-11-14 Automatic compiling method and related device Pending CN117555549A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311515249.1A CN117555549A (en) 2023-11-14 2023-11-14 Automatic compiling method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311515249.1A CN117555549A (en) 2023-11-14 2023-11-14 Automatic compiling method and related device

Publications (1)

Publication Number Publication Date
CN117555549A true CN117555549A (en) 2024-02-13

Family

ID=89814095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311515249.1A Pending CN117555549A (en) 2023-11-14 2023-11-14 Automatic compiling method and related device

Country Status (1)

Country Link
CN (1) CN117555549A (en)

Similar Documents

Publication Publication Date Title
JP6580664B2 (en) Cloud-connected automated testing
CN107491329B (en) Docker mirror image construction method, device, storage medium and electronic device
CN112685035B (en) Project development method and device, computer readable storage medium and electronic equipment
US8381176B1 (en) Software build orchestration framework
CN111949170B (en) Method and device for configuring task flow and electronic equipment
AU2016201389A1 (en) Method and system for process automation in computing
CN101078987A (en) Method and system for establishing customizable wrappers for web applications
US11379188B2 (en) Plugin-oriented functional programming system configured with software components
US20060031827A1 (en) System, apparatus and method of assisting with software product update installations
US9026997B2 (en) Systems and methods for executing object-oriented programming code invoking pre-existing objects
US9952953B2 (en) Non-monotonic eventual convergence for desired state configuration
CN115686606A (en) Method, device, system and medium for displaying item dependency tree
Engels et al. Towards model-driven unit testing
CN112631915B (en) Method, system, device and medium for PCIE device software simulation
US8739146B2 (en) Systems and methods for generating and distributing executable procedures for technical desk-side support
CN117555549A (en) Automatic compiling method and related device
CN111324332A (en) Big data task processing method and system, electronic device and storage medium
CN112988139B (en) Method and device for developing event processing file
CN114090189A (en) Construction deployment management method and system based on assembly line
Kishore et al. Designing Deep Learning Neural Networks using Caffe
CN116820445A (en) Front-end project deployment method and device based on VS Code
Morozov et al. Automatic distributed workflow generation with GridMD library
Starkman The robot operating system in transition: experiments and tutorials
CN115454405A (en) Method and system for designing intelligent code editor based on LSP
CN116931902A (en) Component sharing realization method and device, electronic 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