CN115248680A - Software construction method, system, device, medium, and program product - Google Patents

Software construction method, system, device, medium, and program product Download PDF

Info

Publication number
CN115248680A
CN115248680A CN202210974342.8A CN202210974342A CN115248680A CN 115248680 A CN115248680 A CN 115248680A CN 202210974342 A CN202210974342 A CN 202210974342A CN 115248680 A CN115248680 A CN 115248680A
Authority
CN
China
Prior art keywords
software
construction
operating system
target
module
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
CN202210974342.8A
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.)
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 CN202210974342.8A priority Critical patent/CN115248680A/en
Publication of CN115248680A publication Critical patent/CN115248680A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

The disclosure provides a software construction method, and relates to the technical field of computers. The software construction method is applied to a software construction system, the software construction system comprises a plurality of software construction modules, the software construction modules are arranged corresponding to operating systems, the bottom layer architectures of the operating systems corresponding to at least two software construction modules are different, the software construction modules are used for constructing software installation packages, and different software construction modules construct software installation packages for different operating systems; the software construction method comprises the following steps: acquiring a construction instruction, wherein the construction instruction comprises target software to be constructed, code base information and an operating system; sending a construction instruction to a software construction module according to the operating system; wherein the build instructions are configured to: causing the software building module to execute the installation package building step configured in the software building module to build the software installation package based on the code library information. The present disclosure also provides a software construction system, device, medium, and program product.

Description

Software construction method, system, device, medium, and program product
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a software construction method, system, electronic device, storage medium, and program product.
Background
With the development of the era, related services in the financial field are not only deployed on platforms based on windows operating systems, but are gradually migrated to platforms based on other operating systems, such as kylin operating systems and UOS operating systems, so as to get rid of the dependence on the windows operating systems.
At present, mainstream software is generally developed based on a windows operating system, but a bottom layer architecture adopted by an kylin operating system and a UOS operating system is different from that of the windows operating system, so that the software developed and constructed based on the windows operating system is not suitable for the kylin operating system and the UOS operating system, and in order to enable the software to be installed and deployed on the kylin operating system and the UOS operating system, developers are required to repeatedly develop codes, and the development workload is large.
Disclosure of Invention
In view of the above, the present disclosure provides a software construction method, system, electronic device, storage medium, and program product.
According to a first aspect of the present disclosure, a software construction method is provided, which is applied to a software construction system, where the software construction system includes a plurality of software construction modules, at least one of the software construction modules is arranged corresponding to at least one operating system, the bottom layer architectures of the operating systems corresponding to at least two of the software construction modules are different, at least one of the software construction modules is used to construct a software installation package for the operating system arranged corresponding to the software construction module, and different software construction modules construct the software installation package for different operating systems; the software construction method comprises the following steps:
acquiring a construction instruction, wherein the construction instruction comprises target software to be constructed, code base information of the target software and an operating system for operating the target software;
according to the operating system running the target software, sending the construction instruction to the software construction module corresponding to the operating system;
wherein the build instructions are configured to: and enabling the software building module to execute the installation package building step configured in the software building module according to the building instruction so as to build a software installation package for the operating system correspondingly arranged with the software building module based on the code library information.
According to an embodiment of the present disclosure, the code library information includes address information of a code library used for constructing the target software, at least one of the software construction modules includes a first module group, the first module group includes at least one of the software construction modules, and the operating systems corresponding to the software construction modules in the first module group are all of a first underlying architecture;
in the first module group, the installation package constructing step configured in at least one of the software construction modules includes:
acquiring a first code library for constructing the target software according to the address information;
translating the acquired first code library into a low-level language to obtain a target file;
and packaging the target file according to a mode matched with the first module group to generate the software installation package.
According to an embodiment of the present disclosure, the packaging the target file according to the manner matched with the first module group to generate the software installation package includes:
acquiring a first resource matched with the first module group;
packaging the target file by using the first resource to generate the software installation package;
in the first module group, the packaging specifications of different software building modules are different.
According to an embodiment of the present disclosure, the packaging the target file according to the manner matched with the first module group to generate the software installation package includes:
acquiring a first operation authority according to the target software and an operating system for operating the target software;
giving the first operation authority to the software installation package;
wherein the first operating right is configured to: enabling the operating system to endow a second operation authority to the target software when the target software is installed through the software installation package; the second operation right is configured to: enabling the operating system running the target software to allow the target software to perform a desired function.
According to an embodiment of the present disclosure, the packaging the target file according to the manner matched with the first module group to generate the software installation package includes:
acquiring a first signature according to an operating system running the target software;
assigning the first signature to the software installation package;
wherein the first signature is configured to: enabling the operating system to pass installation verification when the target software is installed through the software installation package.
According to an embodiment of the present disclosure, the at least one software building module further includes a second module group, the second module group includes at least one software building module, the operating systems corresponding to the software building modules in the second module group are both a second underlying architecture, and the second underlying architecture is different from the first underlying architecture;
in the second module group, the installation package constructing step configured in at least one of the software construction modules includes:
acquiring a second code library for constructing the target software according to the address information;
acquiring a second resource matched with the second module group;
packaging the second code library by using the second resource to generate the software installation package;
wherein the first resource is different from the second resource.
According to an embodiment of the present disclosure, the software construction method further includes:
recording the construction progress of the target software according to the processing node where the construction instruction is located;
responding to a query instruction, and feeding back the construction progress of the target software; and/or when the construction instruction comprises a repeated construction instruction, feeding back the construction progress of the target software.
According to the embodiment of the disclosure, the software construction system comprises a plurality of message queues, and at least one software construction module is correspondingly configured with at least one message queue;
the step of sending the construction instruction to the software construction module corresponding to the operating system according to the operating system running the target software comprises the following steps:
determining a target message queue from at least one message queue according to the operating system running the target software;
and sending the construction instruction to the software construction module which is correspondingly arranged with the target message queue through the target message queue.
A second aspect of the present disclosure provides a software construction system, which includes a plurality of software construction modules and a construction management module, where at least one of the software construction modules is arranged corresponding to at least one operating system, the bottom layer architectures of the operating systems corresponding to at least two of the software construction modules are different, at least one of the software construction modules is used to construct a software installation package for the operating system arranged corresponding to the at least one of the software construction modules, and different ones of the software construction modules construct the software installation package for different ones of the operating systems; the construction management module comprises:
the system comprises a first acquisition unit, a second acquisition unit and a third acquisition unit, wherein the first acquisition unit is used for acquiring a construction instruction, and the construction instruction comprises target software to be constructed, code base information of the target software and an operating system for operating the target software;
the first processing unit is used for sending the construction instruction to the software construction module corresponding to the operating system according to the operating system running the target software;
wherein the build instructions are configured to: and enabling the software building module to execute an installation package building step configured in the software building module according to the building instruction so as to build a software installation package for an operating system correspondingly arranged with the software building module based on the code base information.
A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; a memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the software construction method described above.
The fourth aspect of the present disclosure also provides a computer-readable storage medium having stored thereon executable instructions, which when executed by a processor, cause the processor to execute the software construction method described above.
The fifth aspect of the present disclosure also provides a computer program product comprising a computer program which, when executed by a processor, implements the software construction method described above.
One or more of the above-described embodiments may have the following advantages or benefits:
by adopting the software construction method of the embodiment of the disclosure, when constructing the target software, a developer can automatically generate the software installation package which can adapt to the kylin operating system (or the UOS operating system or the windows operating system) only by providing the code base information of the target software and the operating system for operating the target software, thereby realizing the installation and deployment of the target software across the operating systems. Moreover, the generation process of the software installation package does not need manual intervention, and the development cost is greatly reduced. More importantly, when the target software is installed and deployed across the operating systems, developers only need to complete code development once, repeated development work is avoided, and therefore development efficiency is greatly improved.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be apparent from the following description of embodiments of the disclosure, which proceeds with reference to the accompanying drawings, in which:
fig. 1 schematically illustrates an application scenario diagram of a software construction method, apparatus, electronic device, storage medium and program product according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a flow chart of a software construction method according to an embodiment of the present disclosure;
FIG. 3 schematically shows one of the flow diagrams of installation package building steps according to an embodiment of the present disclosure;
FIG. 4 schematically illustrates a flow diagram for packaging a target file according to an embodiment of the disclosure;
FIG. 5 schematically illustrates a flow chart of granting permission according to an embodiment of the present disclosure;
FIG. 6 schematically shows a flow diagram of a signature according to an embodiment of the disclosure;
FIG. 7 schematically shows a second flowchart of installation package building steps according to an embodiment of the present disclosure;
FIG. 8 schematically illustrates a flow diagram of a record building progress according to an embodiment of the disclosure;
FIG. 9 schematically illustrates a flow diagram of forwarding build instructions according to an embodiment of the disclosure;
FIG. 10 schematically shows a block diagram of a software construction system according to an embodiment of the present disclosure;
fig. 11 schematically shows a block diagram of an electronic device adapted to implement the software construction method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction should be interpreted in the sense one having ordinary skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B, a and C, B and C, and/or A, B, C, etc.).
It should be noted that the software construction method, apparatus, electronic device, storage medium and program product provided by the embodiments of the present disclosure relate to the field of computer technology. The software construction method, the apparatus, the electronic device, the storage medium and the program product provided by the embodiments of the present disclosure may be applied to the financial field or any field except the financial field, for example, the software construction method, the apparatus, the electronic device, the storage medium and the program product provided by the embodiments of the present disclosure may be applied to a software development business in the financial field. The present disclosure does not limit the application fields of the software construction method, apparatus, electronic device, storage medium, and program product.
In the technical scheme of the disclosure, the collection, storage, use, processing, transmission, provision, disclosure, application and other processing of the personal information of the related user are all in accordance with the regulations of related laws and regulations, necessary confidentiality measures are taken, and the customs of the public order is not violated.
The embodiment of the disclosure provides a software construction method, which is applied to a software construction system, wherein the software construction system comprises a plurality of software construction modules, at least one software construction module is arranged corresponding to at least one operating system, the bottom layer architectures of the operating systems corresponding to at least two software construction modules are different, the at least one software construction module is used for constructing a software installation package for the operating system arranged corresponding to the at least one software construction module, and different software construction modules construct software installation packages for different operating systems; the software construction method comprises the following steps: acquiring a construction instruction, wherein the construction instruction comprises target software to be constructed, code base information of the target software and an operating system for operating the target software; according to an operating system running target software, sending a construction instruction to a software construction module corresponding to the operating system; wherein the build instructions are configured to: and enabling the software building module to execute the installation package building step configured in the software building module according to the building instruction so as to build the software installation package for the operating system correspondingly arranged to the software building module based on the code library information.
By adopting the software construction method of the embodiment of the disclosure, when constructing the target software, a developer can automatically generate the software installation package which can adapt to the kylin operating system (or the UOS operating system or the windows operating system) only by providing the code base information of the target software and the operating system for operating the target software, thereby realizing the installation and deployment of the target software across the operating systems. Moreover, the generation process of the software installation package does not need manual intervention, and the development cost is greatly reduced. More importantly, when the target software is installed and deployed across the operating systems, developers only need to complete code development once, repeated development work is avoided, and therefore development efficiency is greatly improved.
Fig. 1 schematically illustrates an application scenario diagram of a software construction method, apparatus, electronic device, storage medium and program product according to an embodiment of the present disclosure, and as shown in fig. 1, an application scenario 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. The terminal devices 101, 102, 103 may have installed thereon various communication client applications, such as shopping-like applications, web browser applications, search-like applications, instant messaging tools, mailbox clients, social platform software, etc. (by way of example only).
The terminal devices 101, 102, 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 105 may be a server providing various services, such as a background management server (for example only) providing support for websites browsed by users using the terminal devices 101, 102, 103. The background management server may analyze and perform other processing on the received data such as the user request, and feed back a processing result (e.g., a webpage, information, or data obtained or generated according to the user request) to the terminal device.
It should be noted that the software construction method provided by the embodiment of the present disclosure can be generally executed by the server 105. Accordingly, the software building apparatus provided by the embodiment of the present disclosure may be generally disposed in the server 105. The software construction method provided by the embodiment of the present disclosure may also be executed by a server or a server cluster different from the server 105 and capable of communicating with the terminal devices 101, 102, 103 and/or the server 105. Accordingly, the software building apparatus provided by the embodiment of the present disclosure may also be disposed in a server or a server cluster different from the server 105 and capable of communicating with the terminal devices 101, 102, 103 and/or the server 105.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
The software construction method of the disclosed embodiment will be described in detail below with reference to fig. 2 based on the scenario described in fig. 1.
The software construction method provided by the embodiment of the disclosure is applied to a software construction system, wherein the software construction system comprises a plurality of software construction modules, at least one software construction module is arranged corresponding to at least one operating system, the bottom layer architectures of the operating systems corresponding to at least two software construction modules are different, at least one software construction module is used for constructing a software installation package for the operating system arranged corresponding to the software construction module, and different software construction modules construct software installation packages for different operating systems.
In the embodiment of the present disclosure, "software" may include desktop software or mobile terminal software applied to a computer, and for clarity, the "software" in the following embodiments may optionally specifically refer to desktop software.
In the embodiment of the present disclosure, the software building modules may be arranged in a one-to-one correspondence with the operating systems, so that each software building module independently generates a software installation package for the operating system arranged in correspondence with the software building module, where underlying architectures of the operating systems corresponding to part of the software building modules may be the same. For example, the plurality of software building blocks may include: the software building method comprises a first software building module arranged corresponding to the kylin operating system, a second software building module arranged corresponding to the UOS operating system and a third software building module arranged corresponding to the windows operating system. The bottom architecture of the kylin operating system and the UOS operating system is the arm64 architecture, and the bottom architecture of the windows operating system is the x86 architecture. The first software building module is used for building a software installation package for the kylin operating system, the second software building module is used for building a software installation package for the UOS operating system, and the third software building module is used for building a software installation package for the windows operating system.
It should be noted that for clarity, the embodiments of the present disclosure are described by taking the kylin operating system, the UOS operating system, and the windows operating system as examples, but this is not to be construed as limiting the kind of the operating system of the embodiments of the present disclosure, and it is understood that in other embodiments, the operating system may also include other operating systems, such as a Mac operating system.
Fig. 2 schematically shows a flowchart of a software construction method according to an embodiment of the present disclosure, and as shown in fig. 2, the software construction method of this embodiment includes steps S210 to S220.
It should be noted that, although the steps in fig. 2 are shown in sequence as indicated by arrows, the steps are not necessarily executed in sequence as indicated by the arrows. The steps are not performed in the exact order shown and may be performed in other orders unless explicitly stated herein. Moreover, at least some of the steps in the figures may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, in different orders, and may be performed in turn or in alternation with other steps or at least some of the sub-steps or stages of other steps.
In step S210, a build instruction is obtained, where the build instruction includes target software to be built, code library information of the target software, and an operating system for running the target software.
In the embodiment of the disclosure, in the code development stage of the target software, a developer may determine a code base that needs to be used according to an expected function of the target software, and then obtain code base information of the target software. The code library may comprise a set of programs compiled into a DLL, which provides a way to encapsulate code in a single file. For example, a custom control may be selected from one project, a component selected from another project, a form selected from the other project, and then packaged into a file to obtain a codebase containing the above-described functionality.
In addition to providing the codebase information, the developer also determines for which operating system the target software was developed, i.e., the operating system on which the target software is running (hereinafter also referred to as the target operating system).
Optionally, the operating system running the target software may include one or more of the build instructions.
In one example, for a target software, in the build instructions, an operating system, such as the kylin operating system, may be specified.
In another example, for one target software, three operating systems, such as the kylin operating system, the UOS operating system, and the windows operating system, may be specified simultaneously in the build instructions.
In step S220, according to the operating system running the target software, the building instruction is sent to the software building module corresponding to the operating system. Wherein the build instructions are configured to: and enabling the software building module to execute the installation package building step configured in the software building module according to the building instruction so as to build the software installation package for the operating system correspondingly arranged to the software building module based on the code library information.
As previously described, the operating system running the target software may include one or more of the build instructions. In an example, when the operating system running the target software includes one type, the build instructions may be forwarded to a software build module corresponding to the one type of operating system. For example, when the operating system running the target software is designated as the kylin operating system in the build instructions, the build instructions may be forwarded to the first software build module to generate the corresponding software installation package.
In another example, when the operating system running the target software includes multiple types, the build instructions may be forwarded to the software build modules corresponding to the respective operating systems simultaneously or sequentially, so as to generate the software installation packages of the respective operating systems. For example, when the operating system running the target software is simultaneously specified as three operating systems, namely an kylin operating system, a UOS operating system and a windows operating system in the build instructions, the build instructions may be respectively forwarded to the first software build module, the second software build module and the third software build module, so as to generate the software installation packages of the respective operating systems in the first software build module, the second software build module and the third software build module
In the embodiment of the present disclosure, in the installation package building step, a code library required for building the target software may be downloaded according to the code library information, and then, operations such as packaging are performed according to the downloaded code library, so as to generate the software installation package.
Optionally, the installation package building step in each software building module may be directionally configured according to the operating system corresponding to the installation package building step, so that each software building module may generate a software installation package capable of running on the operating system for the operating system corresponding to the installation package building step. Illustratively, the installation package building steps in different software building modules are at least partially different, e.g., different resources are invoked by different software building modules when packaged, and/or different packaging specifications are employed by different software building modules, etc.
By adopting the software construction method of the embodiment of the disclosure, when constructing the target software, a developer can automatically generate the software installation package which can adapt to the kylin operating system (or the UOS operating system or the windows operating system) only by providing the code base information of the target software and the operating system for operating the target software, thereby realizing the installation and deployment of the target software across the operating systems. Moreover, the generation process of the software installation package does not need manual intervention, and the development cost is greatly reduced. More importantly, when the target software is installed and deployed across the operating systems, developers only need to complete code development once, repeated development work is avoided, and therefore development efficiency is greatly improved.
The software construction method according to the embodiment of the present disclosure will be further described with reference to fig. 2 to 9.
In some specific embodiments, the code library information includes address information of a code library used for constructing the target software, the at least one software construction module includes a first module group, the first module group includes at least one software construction module, and all operating systems corresponding to the software construction modules in the first module group are the first underlying architecture.
In the embodiment of the disclosure, the software construction method can be implemented based on node. Js + Vue + Electron technology, wherein Electron is a cross-platform desktop software development framework based on a Web front-end technology. The developer can use node.js to process the data logic of the target software, the page effect can be supported by Vue technology, and the Electron can combine the two technologies.
Vue can make the rendering effect on the page more rich and diverse in page color and layout than the conventionally used C #. Moreover, a code development project can be quickly established, and the preparation of early development work is effectively reduced. Moreover, vue is open source technology, and is able to resist technical blockages to some extent.
In the embodiment of the present disclosure, the user may issue the building instruction through the visual operation interface, for example, the visual operation interface may include a browser, and the browser may be implemented by vue + node. Upon issuing the build instruction, the user may provide address information of the codebase to generate codebase information. Accordingly, the user may also provide an operating system or the like running the target software through the browser.
In the embodiment of the present disclosure, the software building module in the first module group may be an operating system building software installation package adopting an arm64 underlying architecture, for example, the software building module in the first module group includes the aforementioned first software building module and the second software building module, which are respectively an kylin operating system and a UOS operating system building software installation package.
Fig. 3 schematically shows one of the flowcharts of the installation package constructing step according to the embodiment of the present disclosure, and as shown in fig. 3, in the first module group, the installation package constructing step configured in at least one software constructing module includes steps S231 to S233.
In step S231, a first code library for constructing the target software is acquired according to the address information.
In the embodiment of the present disclosure, after the building instruction is obtained, the address information may be analyzed from the building instruction, and optionally, the corresponding git library may be found through the address information and corresponding content may be downloaded to obtain the first code library.
In step S232, the acquired first code library is translated into a low-level language to obtain a target file.
In the embodiment of the present disclosure, since the software building module in the first module group is an operating system building software installation package adopting an arm64 underlying architecture, in order to meet the requirements of the operating systems on the software installation package, a packaging mode needs to be customized for the operating systems. Therefore, translation of the first code library into a low-level language is required to achieve a customized packaging approach. The low-level language may refer to a language that can be directly recognized by a computer, such as assembly language, machine language, and the like.
In step S233, the target file is packaged in a manner matching the first module group to generate a software installation package.
In the embodiment of the present disclosure, due to the difference between the kylin operating system (or UOS operating system) and the Windows operating system, when the software installation package is constructed, the resources used by the software construction module corresponding to the kylin operating system (or UOS operating system) are different from the resources used by the software construction module corresponding to Windows, which is mainly reflected in the difference in the Electron packaging resources. For the kylin operating system and the UOS operating system, since the two are derived based on the same underlying system (Debian), the software building modules corresponding to the two can use the same resource to build the software installation package.
Fig. 4 schematically illustrates a flowchart of packaging a target file according to an embodiment of the present disclosure, and as shown in fig. 4, in some specific embodiments, step S233 includes step S2331 and step S2332.
In step S2331, a first resource matching the first module group is acquired.
In the embodiment of the present disclosure, the same first resource is configured for the software building modules in the first module group. The first resource may comprise, for example, packaging tools and instruction sets adapted to the kylin and UOS operating systems, etc. That is, for the kylin operating system and the UOS operating system, the software building modules corresponding to the kylin operating system and the UOS operating system can use the same packaging tool, instruction set and the like to build the software installation package.
At step S2332, the target file is packaged with the first resource to generate a software installation package. In the first module group, the packaging specifications of different software building modules are different. The package specification may include, for example, a file naming method, an installation method, and a path configuration method, etc.
In embodiments of the present disclosure, translation and packaging may be implemented using electron-builder. For example, a binary executable file (i.e., a machine language) corresponding to an kylin operating system (or a UOS operating system) is obtained through electronic-builder translation to obtain a target file, and then a software installation package is generated through a packaging specification corresponding to the kylin operating system (or the UOS operating system).
In some embodiments, the software installation package generated by the software building module in the first module group may be packaged in the following directory form:
the primary directories are DEBIAN and opt. And storing the executable binary file therein, wherein opt is a simulation installation directory, and finally after the software installation package is installed, the file path of the target software is the path configured by the simulation installation directory. For example, the UOS operating system requires that software be installed under opt/apps/directory. If the file path of the simulation installation directory is configured to opt/apps/com/demo, the target software can be found from/opt/apps/com/demo after the installation is completed.
Files control, preinst, stimuli, prerm, and pos strm, etc. may be stored under DEBIAN. The control is used for recording information such as software name, author, software description and the like. The content format is similar to that of the properties file, but with colon numbers instead of equal numbers. Pr einst is a script that runs before the software installation package unpacks. Postinst is a script that runs after the software installation package is unpacked. Prerm is a script that runs before the uninstall operation is performed when the software is uninstalled. Postrm is a script that runs after the software is uninstalled.
In some embodiments, the software installation package may be installed in a situation where the files cannot be read or written normally, which relates to the management of the authorities of the kylin operating system and the UOS operating system. To solve this problem, corresponding authority configuration is required during packaging.
Fig. 5 schematically illustrates a flowchart of assigning authority according to an embodiment of the present disclosure, and as shown in fig. 5, in some specific embodiments, step S233 includes step S2333 and step S2334.
In step S2333, a first operation permission is obtained according to the target software and the operating system running the target software.
In step S2334, a first operation right is assigned to the software installation package. Wherein the first operating right is configured to: and enabling the operating system to endow the target software with a second operation authority when the target software is installed through the software installation package. The second operation right is configured to: an operating system running the target software is enabled to allow the target software to perform the intended function.
In the embodiment of the present disclosure, the operation right may include, for example, a right to read, write, modify, and the like. Illustratively, the first operation right is not greater than the maximum operation right required by the DEBIAN, e.g., the first operation right is less than or equal to 775. It should be noted that, in the embodiment of the present disclosure, the first operation right and the second operation right are only distinguished by names, and may be the same, for example, after the operation right a (i.e., the first operation right) is assigned to the software installation package, the obtained target software installed under the kylin operating system (or the UOS operating system) is also assigned the a right (i.e., the second operation right).
In some embodiments, in order to meet the requirements of the UOS operating system and the kylin operating system on the software installation package, corresponding signature configuration is required during packaging.
Fig. 6 schematically illustrates a flow chart of a signature according to an embodiment of the present disclosure, and as shown in fig. 6, in some specific embodiments, step S233 includes step S2335 and step S2336.
In step S2335, a first signature is obtained according to the operating system running the target software.
At step S2336, a first signature is assigned to the software installation package. Wherein the first signature is configured to: the operating system can pass the installation verification when the target software is installed through the software installation package.
In the embodiment of the present disclosure, the UOS operating system requires that the software installation package needs to be signed, and if not signed, the installation fails, and at present, a channel for signature can be obtained from UOP officials for signature.
The kylin operating system can decide whether to sign according to actual conditions, for example, if some products needing to use the kylin operating system depend on the bag, the signing is needed, otherwise, the signing is not needed.
In some embodiments, packaging may be performed using dpkg nomenclature.
In some embodiments, multiple software build modules may be deployed in one server (hereinafter also referred to as a build server) or a cluster of servers, and when multiple software build modules are deployed in one cluster of servers, different software build modules may be deployed in different servers.
In the embodiment of the present disclosure, for one build server, when deploying the software build module, the project can be built in the following manner. Wherein projects can be quickly built by means of some tools, for example, vue scaffold (vue-cli) can be used to help quick building.
Illustratively, the following steps may be performed in order to build the project:
first, the vue scaffold is installed.
Then, an item is created, and a simple item can be created by selecting the vue version and other information according to the prompt.
And then, entering a project root directory, and introducing an electron-builder to perform operations such as compiling, packaging and the like.
Optionally, the electron-builder and electron generally select the next-to-new first-level version to ensure stable operation.
And finally, checking whether the item can normally run or not in an item root directory (a directory of package. Json).
As described above, the resources used by the software building module corresponding to the kylin operating system (or UOS operating system) are different from the resources used by the software building module corresponding to windows, so that when a project is built, the relevant resources can be downloaded through the corresponding channels respectively.
In some embodiments, the at least one software building module further includes a second module group, the second module group includes at least one software building module, the operating systems corresponding to the software building modules in the second module group have the same underlying architecture, and both the operating system corresponding to the software building module in the first module group and the operating system corresponding to the software building module in the second module group are of the second underlying architecture, which is different from the first underlying architecture.
In the embodiment of the present disclosure, the software building module in the second module group may be an operating system building software installation package adopting an X86 underlying architecture, for example, the software building module in the second module group includes the third software building module described above, and the third software building module is a windows operating system building software installation package.
Fig. 7 schematically shows a second flowchart of the installation package constructing step according to the embodiment of the present disclosure, and as shown in fig. 7, in some specific embodiments, in the second module group, the installation package constructing step configured in at least one software constructing module includes steps S234 to S236.
In step S234, a second code library for constructing the target software is acquired according to the address information.
In the embodiment of the present disclosure, after the building instruction is obtained, the address information may be analyzed from the building instruction, and optionally, the corresponding git library may be found through the address information and the related content may be downloaded, so as to obtain the second code library.
In step S235, a second resource matching the second module group is acquired. Wherein the first resource is different from the second resource.
In the disclosed embodiment, the second resource may include, for example, a packaging tool, an instruction set, etc. adapted to the Windows operating system.
At step S236, the second code repository is packaged with the second resource to generate a software installation package.
In the embodiment of the disclosure, because the packaging system of the Windows operating system is relatively perfect, the second code library can be directly packaged by using the second resource without being translated into a low-level language and the like.
It should be noted that, for the embodiment of the present disclosure, reference may be made to the foregoing embodiment for details, and therefore, detailed description is not repeated here.
Fig. 8 schematically shows a flowchart of recording a building progress according to an embodiment of the disclosure, and as shown in fig. 8, in some specific embodiments, the software building method further includes steps S310 to S330.
In step S310, the progress of the construction of the target software is recorded according to the processing node where the construction instruction is located. For example, building a schedule may include: during preparation, during construction, successful construction, failed construction, busy system, temporary support of the type of construction by the system, and the like.
In the disclosed embodiment, build progress may be stored in the Mysql database with a default initial state in preparation.
In step S320, in response to the query instruction, the construction progress of the target software is fed back.
In the embodiment of the present disclosure, after a user issues an instruction, it may be determined whether the instruction is a build instruction or a query instruction. If the query command is received, step S320 may be executed to feed back the current construction progress. If so, step S330 may be performed.
In step S330, when the build instruction includes a repeat build instruction, the progress of the build of the target software is fed back.
For example, the build instruction may constitute a main key by an operating system running the target software, the code library information, and the time of issuing the build instruction, and further determine whether the build instruction is a repeat build instruction by the main key. For example, when the Mysql database is in the primary key that is the same as the current build instruction, then the build instruction is determined to be a duplicate build instruction, otherwise, the build instruction is determined to be a non-duplicate build instruction.
In some embodiments, when the build instruction is a non-repetitive instruction, it may be further determined whether a server (i.e., a build server) where the software build module receiving the build instruction is located is fully loaded, and if so, system busy information is returned to the user interaction page to prompt the user to try again later. If not, the above step S210 is executed, and the corresponding construction progress is recorded.
Alternatively, steps S210 and S220 may be performed by a build management module deployed in a central server, which may run based on a Linux system.
In the embodiment of the present disclosure, the operating system running the target software may be identified according to the primary key in the parsing construction instruction, and then it is determined to which software construction module the construction instruction is sent. In the embodiment of the present disclosure, forwarding of the build instruction may be implemented through the message queue, thereby implementing high concurrency.
In some specific embodiments, the software building system includes a plurality of message queues, at least one software building module is correspondingly configured with at least one message queue, fig. 9 schematically illustrates a flowchart of forwarding building instructions according to an embodiment of the present disclosure, and as shown in fig. 9, step S220 includes step S221 and step S222.
In step S221, a target message queue is determined from at least one message queue according to an operating system running the target software.
In step S222, the building instruction is sent to the software building module set corresponding to the target message queue through the target message queue.
In the embodiment of the present disclosure, the message queue may be set in one-to-one correspondence with the software building modules, for example, the first software building module is set in correspondence with the message queue X1, the second software building module is set in correspondence with the message queue X2, and the third software building module is set in correspondence with the message queue X3. When the primary key in the construction instruction is identified and the operating system running the target software is determined to be the kylin operating system, the message queue X1 can be determined to be the target message queue, and the construction instruction is sent to the message queue X1 to be forwarded to the first software construction module. When the primary key in the construction instruction is identified and the operating system running the target software is determined to be the UOS operating system, the message queue X2 may be determined to be the target message queue, and the construction instruction is sent to the message queue X2 to be forwarded to the second software construction module. When the main key in the construction instruction is identified and the operating system running the target software is determined to be a Windows operating system, the message queue X3 can be determined to be a target message queue, and the construction instruction is sent to the message queue X3 to be forwarded to the third software construction module.
Optionally, when the primary key in the build instruction is identified, and it is determined that the operating system running the target software includes multiple operating systems, for example, the operating systems include an kylin operating system, a UOS operating system, and a Windows operating system, it may be determined that the message queue X1, the message queue X2, and the message queue X3 are all target message queues, and then the build instruction is sent to the message queue X1, the message queue X2, and the message queue X3, and then the build instruction is forwarded to the first software build module, the second software build module, and the third software build module through the three message queues, respectively, to build a corresponding software installation package.
In some embodiments, after sending the build instructions to the target message queue, the build progress may be recorded as waiting in the queue.
In some specific embodiments, after the build instruction is sent to the target message queue, the operating system in the build instruction may be checked, for example, whether the operating system in the build instruction is consistent with the operating system corresponding to the software build module corresponding to the target message queue is determined, if yes, no intervention may be performed, and if not, the build progress may be recorded as being in the wait queue and the system temporarily does not support.
In some specific embodiments, the message queue may adopt a zookeeper queue, and by using the first-in first-out characteristic of the zookeeper queue, the constructed instruction may be forwarded according to the arrival time, so as to prevent system crash caused by too large concurrency.
Illustratively, a user can initiate an instruction through a browser, after the instruction reaches a central server, the central server identifies whether the instruction is a query instruction or a construction instruction, if so, the construction progress is queried, and a query result is returned. If the construction instruction is the repeated construction instruction, further judging whether the construction instruction is the repeated construction instruction, if so, inquiring the construction progress and returning an inquiry result, otherwise, identifying an operating system for operating the target software according to the construction instruction, and further storing the construction instruction in a corresponding zookeeper queue (namely a target message queue). And the zookeeper queue issues the construction instruction to a corresponding construction server according to a first-in first-out principle. And the software construction module deployed in the construction server executes the construction steps of the installation package according to the construction instruction, namely, the software construction module goes to the corresponding git library to download the code library, packages the code library and the like to generate the software installation package. Finally, a download link of the software installation package can be provided on the browser page for the user to download and install. In this process, the relevant information can be recorded to the Mysql database.
Based on the software construction method, the disclosure also provides a software construction system. The system will be described in detail below in conjunction with fig. 10.
Fig. 10 schematically shows a block diagram of a software construction system according to an embodiment of the present disclosure, and as shown in fig. 10, a software construction system 1000 of this embodiment includes a plurality of software construction modules 1010 and a construction management module 1020. At least one software building module 1010 is arranged corresponding to at least one operating system, the bottom layer architectures of the operating systems corresponding to the at least two software building modules 1010 are different, the at least one software building module 1010 is used for building a software installation package for the operating system arranged corresponding to the at least one software building module 1010, and the different software building modules 1010 are used for building software installation packages for different operating systems. The build management module 1020 includes a first obtaining unit 1021 and a first processing unit 1022.
The first obtaining unit 1021 is configured to obtain a build instruction, where the build instruction includes target software to be built, code library information of the target software, and an operating system for running the target software. In an embodiment, the first obtaining unit 1021 may be configured to perform the step S210 described above, and is not described herein again.
The first processing unit 1022 is configured to send a build instruction to the setup software building module 1010 corresponding to an operating system running the target software according to the operating system. In an embodiment, the first processing unit 1022 may be configured to execute the step S220 described above, which is not described herein again.
Wherein the build instructions are configured to: the software building module 1010 is caused to execute the installation package building step configured in the software building module 1010 according to the building instruction, so as to build the software installation package for the operating system set corresponding to the software building module 1010 based on the code library information.
By adopting the software construction system of the embodiment of the disclosure, when constructing the target software, a developer can automatically generate the software installation package which can adapt to the kylin operating system (or the UOS operating system or the windows operating system) only by providing the code base information of the target software and the operating system for running the target software, thereby realizing the installation and deployment of the target software across the operating systems. Moreover, the generation process of the software installation package does not need manual intervention, and the development cost is greatly reduced. More importantly, when the target software is installed and deployed across the operating systems, developers only need to complete code development once, repeated development work is avoided, and therefore development efficiency is greatly improved.
According to an embodiment of the present disclosure, any plurality of modules in the first obtaining unit 1021 and the first processing unit 1022 may be combined into one module to be implemented, or any one of the modules may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the first obtaining unit 1021 and the first processing unit 1022 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or may be implemented by any one of three implementations of software, hardware, and firmware, or in a suitable combination of any of them. Alternatively, at least one of the first obtaining unit 1021 and the first processing unit 1022 may be at least partly implemented as a computer program module, which when executed may perform a corresponding function.
In some specific embodiments, the code library information includes address information of a code library used for constructing the target software, the at least one software building module 1010 includes a first module group, the first module group includes the at least one software building module 1010, and the operating systems corresponding to the software building modules 1010 in the first module group are all the first underlying architecture.
In the first module group, the at least one software construction module 1010 includes a second obtaining unit, a translation unit, and a first packing unit.
The second obtaining unit is used for obtaining a first code library used for constructing the target software according to the address information.
The translation unit is used for translating the acquired first code library into a low-level language to obtain the target file.
The first packing unit is used for packing the target file according to a mode matched with the first module group so as to generate the software installation package.
In some embodiments, the first packing unit is specifically configured to perform the following steps:
a first resource is obtained that matches the first module group.
And packaging the target file by using the first resource to generate a software installation package.
In the first module group, the packaging specifications of different software building modules 1010 are different.
In some embodiments, the first packing unit is specifically configured to perform the following steps:
and acquiring a first operation authority according to the target software and an operating system for operating the target software.
And giving a first operation authority to the software installation package.
Wherein the first operating right is configured to: and enabling the operating system to endow a second operation authority to the target software when the target software is installed through the software installation package. The second operation right is configured to: an operating system running the target software is enabled to allow the target software to perform the intended function.
In some embodiments, the first packing unit is specifically configured to perform the following steps:
and acquiring a first signature according to an operating system running the target software.
The software installation package is given a first signature.
Wherein the first signature is configured to: the operating system can pass the installation verification when the target software is installed through the software installation package.
In some embodiments, the at least one software building module 1010 further includes a second module group, the second module group includes the at least one software building module 1010, and the operating systems corresponding to the software building modules 1010 in the second module group are both a second underlying architecture, and the second underlying architecture is different from the first underlying architecture.
In the second module group, the at least one software building module 1010 includes a second obtaining unit, a third obtaining unit, and a second packing unit.
The second obtaining unit is used for obtaining a second code library used for constructing the target software according to the address information.
The third obtaining unit is used for obtaining a second resource matched with the second module group.
The second packaging unit is used for packaging the second code library by using the second resource so as to generate the software installation package.
Wherein the first resource is different from the second resource.
In some embodiments, the software construction system further comprises a recording module for performing the steps of:
and recording the construction progress of the target software according to the processing node where the construction instruction is located.
And feeding back the construction progress of the target software in response to the query instruction. And/or when the construction instruction comprises a repeated construction instruction, feeding back the construction progress of the target software.
In some embodiments, the software construction system includes a plurality of message queues, and at least one of the software construction modules 1010 is configured with at least one of the message queues.
The first processing unit 1022 is specifically configured to perform the following steps:
and determining a target message queue from at least one message queue according to an operating system running the target software.
The build instruction is sent to the software build module 1010 set corresponding to the target message queue through the target message queue.
By adopting the software construction system of the embodiment of the disclosure, the generation process of the software installation package does not need manual intervention, thereby greatly reducing the development cost. More importantly, when the target software is installed and deployed across the operating systems, developers only need to complete code development once, repeated development work is avoided, and therefore development efficiency is greatly improved.
Fig. 11 schematically shows a block diagram of an electronic device adapted to implement a software construction method according to an embodiment of the present disclosure, and as shown in fig. 11, an electronic device 1100 according to an embodiment of the present disclosure includes a processor 1101 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 1102 or a program loaded from a storage section 1108 into a Random Access Memory (RAM) 1103. The processor 1101 may comprise, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 1101 may also include on-board memory for caching purposes. The processor 1101 may comprise a single processing unit or a plurality of processing units for performing the different actions of the method flows according to the embodiments of the present disclosure.
In the RAM1103, various programs and data necessary for the operation of the electronic device 1100 are stored. The processor 1101, the ROM 1102, and the RAM1103 are connected to each other by a bus 1104. The processor 1101 performs various operations of the method flow according to the embodiments of the present disclosure by executing programs in the ROM 1102 and/or the RAM 1103. It is noted that the programs may also be stored in one or more memories other than the ROM 1102 and RAM 1103. The processor 1101 may also perform various operations of the method flows according to the embodiments of the present disclosure by executing programs stored in the one or more memories.
Electronic device 1100 may also include input/output (I/O) interface 1105, input/output (I/O) interface 1105 also connected to bus 1104, according to an embodiment of the disclosure. Electronic device 1100 may also include one or more of the following components connected to I/O interface 1105: an input portion 1106 including a keyboard, mouse, and the like; an output portion 1107 including a signal such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 1108 including a hard disk and the like; and a communication section 1109 including a network interface card such as a LAN card, a modem, or the like. The communication section 1109 performs communication processing via a network such as the internet. Drivers 1110 are also connected to the I/O interface 1105 as needed. A removable medium 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, is installed on the drive 1110 as necessary, so that a computer program read out therefrom is installed into the storage section 1108 as necessary.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The above-mentioned computer-readable storage medium carries one or more programs which, when executed, implement the software construction method according to the embodiments of the present disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. For example, according to embodiments of the present disclosure, a computer-readable storage medium may include the ROM 1102 and/or the RAM1103 and/or one or more memories other than the ROM 1102 and the RAM1103 described above.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the method illustrated in the flow chart. When the computer program product runs in a computer system, the program code is used for causing the computer system to realize the software construction method provided by the embodiment of the disclosure.
The computer program performs the above-described functions defined in the system/apparatus of the embodiments of the present disclosure when executed by the processor 1101. The systems, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In one embodiment, the computer program may be hosted on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted in the form of a signal over a network medium, distributed, and downloaded and installed via the communication portion 1109 and/or installed from the removable media 1111. The computer program containing program code may be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In such an embodiment, the computer program may be downloaded and installed from a network through the communication portion 1109 and/or installed from the removable medium 1111. The computer program, when executed by the processor 1101, performs the above-described functions defined in the system of the embodiment of the present disclosure. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In accordance with embodiments of the present disclosure, program code for executing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, these computer programs may be implemented using high level procedural and/or object oriented programming languages, and/or assembly/machine languages. The programming language includes, but is not limited to, programming languages such as Java, C + +, python, the "C" language, or the like. The program code may execute entirely on the user computing device, partly on the user device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
The embodiments of the present disclosure are described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used advantageously in combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.

Claims (12)

1. A software construction method is applied to a software construction system, and is characterized in that the software construction system comprises a plurality of software construction modules, at least one software construction module is arranged corresponding to at least one operating system, the bottom layer architectures of the operating systems corresponding to at least two software construction modules are different, at least one software construction module is used for constructing a software installation package for the operating system arranged corresponding to the software construction module, and different software construction modules construct the software installation package for different operating systems; the software construction method comprises the following steps:
acquiring a construction instruction, wherein the construction instruction comprises target software to be constructed, code base information of the target software and an operating system for operating the target software;
according to the operating system running the target software, sending the construction instruction to the software construction module corresponding to the operating system;
wherein the build instructions are configured to: and enabling the software building module to execute the installation package building step configured in the software building module according to the building instruction so as to build a software installation package for the operating system correspondingly arranged with the software building module based on the code library information.
2. The software construction method according to claim 1, wherein the code library information includes address information of a code library for constructing the target software, at least one of the software construction modules includes a first module group, the first module group includes at least one of the software construction modules, and the operating systems corresponding to the software construction modules in the first module group are all of a first underlying architecture;
in the first module group, the installation package constructing step configured in at least one of the software construction modules includes:
acquiring a first code library for constructing the target software according to the address information;
translating the acquired first code library into a low-level language to obtain a target file;
and packaging the target file according to a mode matched with the first module group to generate the software installation package.
3. The method of claim 2, wherein packaging the object file according to the matching manner with the first module group to generate the software installation package comprises:
acquiring a first resource matched with the first module group;
packaging the target file by using the first resource to generate the software installation package;
wherein, in the first module group, the packaging specifications of different software building modules are different.
4. The method of claim 2, wherein packaging the object file according to the matching manner with the first module group to generate the software installation package comprises:
acquiring a first operation authority according to the target software and an operating system for operating the target software;
giving the first operation authority to the software installation package;
wherein the first operating right is configured to: enabling the operating system to endow a second operation authority to the target software when the target software is installed through the software installation package; the second operation right is configured to: enabling the operating system running the target software to allow the target software to perform a desired function.
5. The method of claim 2, wherein packaging the object file according to the matching manner with the first module group to generate the software installation package comprises:
acquiring a first signature according to an operating system running the target software;
assigning the first signature to the software installation package;
wherein the first signature is configured to: enabling the operating system to pass installation verification when the target software is installed through the software installation package.
6. The software construction method according to claim 3, wherein at least one of the software construction modules further comprises a second module group, the second module group comprises at least one of the software construction modules, and the operating systems corresponding to the software construction modules in the second module group are both of a second underlying architecture, which is different from the first underlying architecture;
in the second module group, the installation package constructing step configured in at least one of the software constructing modules includes:
acquiring a second code library for constructing the target software according to the address information;
acquiring a second resource matched with the second module group;
packaging the second code library by using the second resource to generate the software installation package;
wherein the first resource is different from the second resource.
7. The software construction method according to any one of claims 1 to 6, characterized by further comprising:
recording the construction progress of the target software according to the processing node where the construction instruction is located;
responding to a query instruction, and feeding back the construction progress of the target software; and/or when the construction instruction comprises a repeated construction instruction, feeding back the construction progress of the target software.
8. The software construction method according to any one of claims 1 to 6, characterized in that the software construction system comprises a plurality of message queues, and at least one of the software construction modules is correspondingly configured with at least one of the message queues;
the step of sending the construction instruction to the software construction module corresponding to the operating system according to the operating system running the target software comprises the following steps:
determining a target message queue from at least one message queue according to the operating system running the target software;
and sending the construction instruction to the software construction module which is correspondingly arranged with the target message queue through the target message queue.
9. A software construction system is characterized by comprising a plurality of software construction modules and construction management modules, wherein at least one software construction module is arranged corresponding to at least one operating system, the bottom layer architectures of the operating systems corresponding to at least two software construction modules are different, at least one software construction module is used for constructing a software installation package for the operating system arranged corresponding to the software construction module, and different software construction modules construct the software installation package for different operating systems; the construction management module comprises:
the system comprises a first acquisition unit, a second acquisition unit and a third acquisition unit, wherein the first acquisition unit is used for acquiring a construction instruction, and the construction instruction comprises target software to be constructed, code base information of the target software and an operating system for operating the target software;
the first processing unit is used for sending the construction instruction to the software construction module corresponding to the operating system according to the operating system running the target software;
wherein the build instructions are configured to: and enabling the software building module to execute the installation package building step configured in the software building module according to the building instruction so as to build a software installation package for the operating system correspondingly arranged with the software building module based on the code library information.
10. An electronic device, comprising:
one or more processors;
a storage device for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the software construction method of any one of claims 1-8.
11. A computer-readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to perform a software construction method according to any one of claims 1 to 8.
12. A computer program product comprising a computer program which, when executed by a processor, carries out the software construction method according to any one of claims 1 to 8.
CN202210974342.8A 2022-08-15 2022-08-15 Software construction method, system, device, medium, and program product Pending CN115248680A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210974342.8A CN115248680A (en) 2022-08-15 2022-08-15 Software construction method, system, device, medium, and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210974342.8A CN115248680A (en) 2022-08-15 2022-08-15 Software construction method, system, device, medium, and program product

Publications (1)

Publication Number Publication Date
CN115248680A true CN115248680A (en) 2022-10-28

Family

ID=83699406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210974342.8A Pending CN115248680A (en) 2022-08-15 2022-08-15 Software construction method, system, device, medium, and program product

Country Status (1)

Country Link
CN (1) CN115248680A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541066A (en) * 2023-06-14 2023-08-04 飞腾信息技术有限公司 Software system construction method, device, equipment and computer readable storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541066A (en) * 2023-06-14 2023-08-04 飞腾信息技术有限公司 Software system construction method, device, equipment and computer readable storage medium
CN116541066B (en) * 2023-06-14 2023-10-13 飞腾信息技术有限公司 Software system construction method, device, equipment and computer readable storage medium

Similar Documents

Publication Publication Date Title
US20210311859A1 (en) Orchestration for automated performance testing
US9645814B1 (en) Generating and publishing applications for multiple platforms
US20130275960A1 (en) Validation of current states of provisioned software products in a cloud environment
CN111427579A (en) Plug-in, application program implementing method and system, computer system and storage medium
CN113934426A (en) Software package processing method, device, system, equipment and medium
CN113127361A (en) Application program development method and device, electronic equipment and storage medium
US10705895B2 (en) Device based automated tool integration for lifecycle management platform
US11656864B2 (en) Automatic application of software updates to container images based on dependencies
US20200410106A1 (en) Optimizing Operating System Vulnerability Analysis
CN115248680A (en) Software construction method, system, device, medium, and program product
US10705824B2 (en) Intention-based command optimization
CN111930629A (en) Page testing method and device, electronic equipment and storage medium
CN115982491A (en) Page updating method and device, electronic equipment and computer readable storage medium
CN113535565B (en) Interface use case generation method, device, equipment and medium
CN112506781B (en) Test monitoring method, device, electronic equipment, storage medium and program product
CN113805877A (en) Project engineering construction method and device based on IDEA plug-in
CN114035864A (en) Interface processing method, interface processing device, electronic device, and storage medium
CN111158684B (en) System creation method, device, electronic equipment and readable storage medium
CN114489704A (en) Version compiling and deploying method and device based on strategy
CN114253599A (en) Version deployment method, version deployment device, electronic device and storage medium
CN113032256A (en) Automatic test method, device, computer system and readable storage medium
CN112988604A (en) Object testing method, testing system, electronic device and readable storage medium
US20210073018A1 (en) Enhanced virtual machine image management system
CN112068814A (en) Method, device, system and medium for generating executable file
US11275569B1 (en) Techniques and architectures for providing continuous integration (CI) and/or continuous delivery (CD) in a data lake environment

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