[go: up one dir, main page]

CN117149259A - Application configuration library creation method, application release method and device and electronic equipment - Google Patents

Application configuration library creation method, application release method and device and electronic equipment Download PDF

Info

Publication number
CN117149259A
CN117149259A CN202311133481.9A CN202311133481A CN117149259A CN 117149259 A CN117149259 A CN 117149259A CN 202311133481 A CN202311133481 A CN 202311133481A CN 117149259 A CN117149259 A CN 117149259A
Authority
CN
China
Prior art keywords
application
target
configuration
identifier
sub
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
CN202311133481.9A
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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202311133481.9A priority Critical patent/CN117149259A/en
Publication of CN117149259A publication Critical patent/CN117149259A/en
Pending legal-status Critical Current

Links

Classifications

    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The disclosure provides an application configuration library creation method, an application release method and device and electronic equipment, and can be applied to the technical field of computers and the technical field of finance. The application configuration library creation method comprises the following steps: in response to receiving the application configuration request, acquiring application objects corresponding to application identifiers indicated by the application configuration request; creating version control branches corresponding to the phase identifications of the application identifications in an application configuration library; in response to detecting that the target application sub-object in the application sub-object corresponding to each application identifier is changed, determining the target application identifier corresponding to each target application sub-object, the target stage identifier and the changed target application sub-object; and responding to the changed target application sub-object to pass the verification, and utilizing the version control branch corresponding to the target application identifier and the target stage identifier to change the target application sub-object according to the changed target application sub-object so as to obtain a changed application configuration library.

Description

Application configuration library creation method, application release method and device and electronic equipment
Technical Field
The present disclosure relates to the field of computer technology and financial science and technology, and more particularly, to an application configuration library creation method, an application publishing method and apparatus, an electronic device, and a computer readable storage medium.
Background
With the rapid development of internet technology, more and more enterprises apply application deployment to the whole life cycle of resource allocation and production, and the demand for application development is increasing.
Application development may refer to the process of writing an application system or software portions of an application system for business, life, etc., using a programming language. In the full life cycle activities of application production, the software environment is more and more complicated and the application is more and more adaptive to different environments due to the development of the scale of the software and the different requirements of the environments such as development, test, operation and maintenance.
In the process of implementing the disclosed concept, the inventor finds that at least the following problems exist in the related art: because of the strong coupling relation between the application, the environment and the configuration, the problems of inconsistent description, non-uniform rules and the like exist between the application of different environments and different configurations, so that the workload of application development is large, and the efficiency and the safety of the application development cannot be ensured.
Disclosure of Invention
In view of this, the present disclosure provides a method for creating an application configuration library, a method and apparatus for publishing an application, an electronic device, a computer-readable storage medium, and a computer program product.
According to one aspect of the present disclosure, there is provided a method for creating an application configuration library, including: in response to receiving an application configuration request, acquiring application objects corresponding to M application identifiers indicated by the application configuration request, wherein the application objects comprise P application sub-objects corresponding to P stage identifiers; creating version control branches corresponding to the P stage identifiers of the M application identifiers in an application configuration library; in response to detecting that Q target application sub-objects in the P application sub-objects corresponding to the M application identifiers are changed, determining target application identifiers corresponding to the Q target application sub-objects, target stage identifiers and changed target application sub-objects; and responding to the changed target application sub-object to pass the verification, and utilizing the version control branch corresponding to the target application identifier and the target stage identifier to change the target application sub-object according to the changed target application sub-object to obtain a changed application configuration library; wherein P, Q and M are positive integers, and Q is less than or equal to P.
According to an embodiment of the present disclosure, the application sub-objects include a primary application configuration object and a secondary application configuration object; the responding to the receiving of the application configuration request, the obtaining of the application object corresponding to each of the M application identifiers indicated by the application configuration request includes: in response to receiving the application configuration request, invoking an application object configuration template; for each application identifier of the M application identifiers, for each stage identifier of the P stage identifiers, acquiring at least one of application attribute information, load configuration information, operation and maintenance configuration information and resource configuration information according to the application identifier and the stage identifier; creating the primary application configuration object corresponding to the application identifier and the stage identifier according to the application attribute information by using the application object configuration template; and creating the secondary application configuration object corresponding to the application identifier and the phase identifier according to at least one of the load configuration information, the operation and maintenance configuration information, and the resource configuration information by using the application object configuration template.
According to an embodiment of the present disclosure, after the determining, in response to detecting that Q target application sub-objects of the P application sub-objects corresponding to the M application identifiers respectively change, a target application identifier, a target phase identifier, and a changed target application sub-object corresponding to the Q target application sub-objects respectively: determining a primary object check rule and a secondary object check rule according to the target stage identifier aiming at each target application sub-object in the Q target application sub-objects; checking the primary application configuration object corresponding to the target stage identifier according to the primary object checking rule to obtain a primary object checking result; responding to the primary object verification result to represent that the primary application configuration object passes verification, and verifying the secondary application configuration object corresponding to the target stage identifier according to the secondary object verification rule to obtain a secondary object verification result; and responding to the secondary object verification result to represent that the secondary application configuration object passes verification, and determining an application sub-object verification result representing that the changed target application sub-object passes verification.
According to an embodiment of the present disclosure, the method further includes: determining operation fault information of the changed target application sub-object according to the primary object verification result representing that the primary application configuration object fails verification or the secondary object verification result representing that the secondary application configuration object fails verification; and outputting the target application identifier, the target stage identifier, the changed target application sub-object and the operation fault information.
According to an embodiment of the present disclosure, the target application sub-object includes current version information, S first object name fields, and current object value fields corresponding to the S first object name fields, and the changed target application sub-object includes updated version information, T second object name fields, and updated object value fields corresponding to the T second object name fields; the verifying, in response to the changed target application sub-object, the target application sub-object according to the changed target application sub-object by using the version control branch corresponding to the target application identifier and the target stage identifier, and obtaining a changed application configuration library includes: replacing the current version information in the application configuration library by using the version control branch corresponding to the target stage identifier according to the updated version information to obtain modified version information; for each second object name field in the T second object name fields, respectively matching the second object name field with the S first object name fields to obtain a target object name field; and replacing a current object value field corresponding to the target object name field according to the updated object value field by utilizing the version control branch corresponding to the target stage identifier to obtain changed application configuration information.
According to an embodiment of the present disclosure, the above-mentioned phase identifier includes at least one of a development phase identifier, a test phase identifier, a production phase identifier, and a disaster recovery phase identifier; creating version control branches in the application configuration library, wherein the version control branches respectively correspond to the P stage identifications of the M application identifications comprises: creating a development branch according to the primary application configuration object and the secondary application configuration object corresponding to the development stage identifier; creating a test branch according to the primary application configuration object and the secondary application configuration object corresponding to the test stage identifier; creating a production branch according to the primary application configuration object and the secondary application configuration object corresponding to the production stage identifier; and creating a disaster recovery branch according to the primary application configuration object and the secondary application configuration object corresponding to the disaster recovery stage identification.
According to one aspect of the present disclosure, there is provided a publishing method of an application, including: responding to the received application release request, and acquiring an application object to be released from an application configuration library by utilizing a version control branch corresponding to an application identifier to be released and a stage identifier to be released in the application release request; processing the application object to be issued to obtain a processed application object; according to the processed application object, issuing a target application corresponding to the application identifier to be issued; the application configuration library is created by the method.
According to an embodiment of the present disclosure, the application configuration library stores P version control branches corresponding to M application identifiers respectively; the responding to the receiving of the application release request, and the obtaining of the application object to be released from the application configuration library by using the version control branch corresponding to the application identifier to be released and the stage identifier to be released in the application release request comprises the following steps: in response to receiving the application release request, respectively matching the application identifier to be released and the M application identifiers to obtain a target application identifier; respectively matching the stage identifier to be issued with the P version control branches corresponding to the target application identifier to obtain target version control branches; and acquiring the application object to be distributed from the application configuration library by utilizing the target version control branch.
According to an embodiment of the present disclosure, the application object to be published includes a primary application configuration object and a secondary application configuration object, and the secondary application configuration object includes at least one of load configuration information, operation and maintenance configuration information, and resource configuration information; processing the application object to be issued to obtain a processed application object, wherein the processing of the application object to be issued comprises at least one of the following modes: according to the provider identification in the load configuration information, processing the application object to be issued by using an application programming interface corresponding to the provider identification to obtain the processed application object; according to the operation and maintenance strategy identification in the operation and maintenance configuration information, the operation and maintenance strategy corresponding to the operation and maintenance strategy identification is utilized to process the application object to be distributed, and the processed application object is obtained; and processing the application object to be distributed by utilizing a resource deployment script corresponding to the basic resource identifier according to the basic resource identifier in the resource configuration information to obtain the processed application object.
According to an embodiment of the present disclosure, the version control branch includes at least one of a development branch for controlling an application sub-object of a development stage, a test branch for controlling an application sub-object of a test stage, a production branch for controlling an application sub-object of a production stage, and a disaster recovery branch for controlling an application sub-object of a disaster recovery stage.
According to an embodiment of the present disclosure, the application publishing request further includes publishing address information; the issuing the target application corresponding to the application identifier to be issued according to the processed application object comprises the following steps: in response to detecting that the development branch has completed for the application sub-object of the development stage, initiating a first merge request; merging the development branches into the test branches according to the first merging request; in response to detecting that the test operation of the test branch for the application sub-object of the test stage is completed, initiating a second merge request; merging the test branches into the production branches according to the second merging request; and compiling the processed application object according to the release address information to obtain the target application.
According to another aspect of the present disclosure, there is provided an application configuration library creation apparatus, including: the first acquisition module is used for responding to the received application configuration request and acquiring application objects corresponding to M application identifiers indicated by the application configuration request, wherein the application objects comprise P application sub-objects corresponding to P stage identifiers; the creation module is used for creating version control branches corresponding to the P stage identifiers of the M application identifiers in the application configuration library; the determining module is used for determining the target application identifier, the target stage identifier and the changed target application sub-object corresponding to each of the Q target application sub-objects in response to detecting that Q target application sub-objects in the P application sub-objects corresponding to each of the M application identifiers are changed; and a change module, configured to respond to the changed target application sub-object passing the verification, and change the target application sub-object according to the changed target application sub-object by using the version control branch corresponding to the target application identifier and the target stage identifier, so as to obtain a changed application configuration library; wherein P, Q and M are positive integers, and Q is less than or equal to P.
According to another aspect of the present disclosure, there is provided a publishing device of an application, including: the second acquisition module is used for responding to the received application release request and acquiring an application object to be released from the application configuration library by utilizing a version control branch corresponding to the application identifier to be released and the stage identifier to be released in the application release request; the processing module is used for processing the application object to be distributed to obtain a processed application object; the issuing module is used for issuing a target application corresponding to the application identifier to be issued according to the processed application object; the application configuration library is created by using the device.
According to another aspect of the present disclosure, there is provided an electronic device including: one or more processors; and a memory for storing one or more instructions that, when executed by the one or more processors, cause the one or more processors to implement a method as described in the present disclosure.
According to another aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon executable instructions that, when executed by a processor, cause the processor to implement a method as described in the present disclosure.
According to another aspect of the present disclosure, there is provided a computer program product comprising computer executable instructions which, when executed, are adapted to carry out the method as described in the present disclosure.
According to the embodiment of the disclosure, the application object corresponding to the application identifier is obtained when the server receives the application configuration request, and the version control branch corresponding to the stage identifier is created in the application configuration library, when the application object is changed, the accuracy and rationality of the changed application object are checked by using the version control branch corresponding to the target application identifier and the target stage identifier, and the application object in the original application configuration library is replaced by the checked application object, so that the real-time update of the application object in the application configuration library is realized, the technical problems of inconsistent description and non-uniform rule between different environments and different configurations in the related art are at least partially overcome, and the application development is realized by directly using the application object in the application configuration library.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent from the following description of embodiments thereof with reference to the accompanying drawings in which:
fig. 1 schematically illustrates a system architecture to which a creation method of an application configuration library and a release method of an application can be applied according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a flow chart of a method of creation of an application configuration library according to an embodiment of the disclosure;
FIG. 3 schematically illustrates a flow chart of a method of creating an application configuration library according to a specific embodiment of the present disclosure;
FIG. 4 schematically illustrates a schematic diagram of configuration properties of an application configuration object in accordance with a specific embodiment of the present disclosure;
FIG. 5 schematically illustrates a flow chart of a method of creation of a primary application configuration object in accordance with an embodiment of the present disclosure;
FIG. 6 schematically illustrates a flow chart of a method of creation of a secondary application configuration object in accordance with an embodiment of the present disclosure;
FIG. 7 schematically illustrates a flow chart of a method of determining application sub-object verification results, in accordance with an embodiment of the present disclosure;
FIG. 8 schematically illustrates a flow chart of a method of altering application configuration information according to an embodiment of the disclosure;
FIG. 9 schematically illustrates a flow diagram of a method of creating a version control branch, in accordance with an embodiment of the present disclosure;
FIG. 10 schematically illustrates a flow chart of a publication method of an application according to an embodiment of the present disclosure;
FIG. 11 schematically illustrates a flowchart of a method of acquiring an application object to be published, according to an embodiment of the disclosure;
FIG. 12 schematically illustrates a schematic diagram of a method of processing an application object to be published according to an embodiment of the disclosure;
FIG. 13 schematically illustrates a schematic diagram of a publishing method of a target application according to an embodiment of the disclosure;
FIG. 14 schematically illustrates a schematic diagram of an application product architecture according to a specific embodiment of the present disclosure;
FIG. 15 schematically illustrates a block diagram of an application configuration library creation apparatus according to an embodiment of the present disclosure;
FIG. 16 schematically illustrates a block diagram of a publishing device of an application in accordance with an embodiment of the disclosure; and
fig. 17 schematically illustrates a block diagram of an electronic device adapted to implement the method of creating an application configuration library and the method of publishing an application 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 only exemplary 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 present disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques are omitted so as not to 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/or 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 should be noted that the terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly formal manner.
Where expressions like at least one of "A, B and C, etc. are used, the expressions should generally be interpreted in accordance with the meaning as commonly understood by those skilled in the art (e.g.," a system having at least one of A, B and C "shall include, but not be limited to, a system having a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the technical scheme of the invention, the related user information (including but not limited to user personal information, user image information, user equipment information, such as position information and the like) and data (including but not limited to data for analysis, stored data, displayed data and the like) are information and data authorized by a user or fully authorized by all parties, and the processing of the related data such as collection, storage, use, processing, transmission, provision, disclosure, application and the like are all conducted according to the related laws and regulations and standards of related countries and regions, necessary security measures are adopted, no prejudice to the public welfare is provided, and corresponding operation inlets are provided for the user to select authorization or rejection. In the technical scheme of the disclosure, the authorization or consent of the user is obtained before the personal information of the user is obtained or acquired.
With the rapid development of internet technology, more and more enterprises apply application deployment to the whole life cycle of resource allocation and production applications.
The application life cycle refers to the whole process from creation to extinction of an application program process, such as software development, from requirement analysis, through project planning, project implementation, configuration management, test management and other stages until the whole process is finally delivered or released, an enterprise can integrate and reconstruct the whole life cycle flow of application development management, and standardized, procedural and explicit management processes are realized, so that enterprise service requirements, internet requirements, development planning, continuous delivery and final operation and maintenance management are realized.
However, in the full life cycle activities of application production, the software environment is more complicated and more due to the development of the scale of the software and the requirements of the development, test, operation and maintenance environments, and the like, so that the problems of lack of standardized and modeled description of the application are easily caused; in addition, because of the strong coupling relation between the application, the environment and the configuration, the multi-environment heterogeneous distribution such as testing, disaster recovery, production and the like is complex and easy to make mistakes, so that the workload of operation and maintenance personnel is large and the risk exists, and the product is difficult to rapidly deliver.
To at least partially solve the technical problems in the related art, the present disclosure provides a method for creating an application configuration library, a method and apparatus for publishing an application, an electronic device, a computer-readable storage medium, and a computer program product.
It should be noted that, the method for creating an application configuration library and the method and device for publishing an application provided in the embodiments of the present disclosure may be used in the fields of computer technology and financial technology, for example, in the field of computer software technology. The method for creating the application configuration library and the method and device for publishing the application provided by the embodiment of the disclosure can also be used in any field except the computer field and the financial science and technology field, for example, in the technical field of Internet architecture. The application field of the method for creating the application configuration library, the method for publishing the application and the device provided by the embodiment of the disclosure is not limited.
Fig. 1 schematically illustrates a system architecture to which a creation method of an application configuration library and a release method of an application can be applied according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a system architecture to which embodiments of the present disclosure may be applied to assist those skilled in the art in understanding the technical content of the present disclosure, but does not mean that embodiments of the present disclosure may not be used in other devices, systems, environments, or scenarios.
As shown in fig. 1, a system architecture 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is a medium used to provide a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with the server 105 through the network 104 using at least one of the first terminal device 101, the second terminal device 102, the third terminal device 103, to receive or send messages, etc. Various communication client applications, such as a shopping class application, a web browser application, a search class application, an instant messaging tool, a mailbox client, social platform software, etc. (by way of example only) may be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103.
The first terminal device 101, the second terminal device 102, the third terminal device 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop and desktop computers, and the like.
The server 105 may be a server providing various services, such as a background management server (by way of example only) providing support for websites browsed by the user using the first terminal device 101, the second terminal device 102, and the third terminal device 103. The background management server may analyze and process the received data such as the user request, and feed back the processing result (e.g., the web page, information, or data obtained or generated according to the user request) to the terminal device.
It should be noted that, the method for creating the application configuration library or the method for publishing the application provided by the embodiments of the present disclosure may be generally performed by the server 105. Accordingly, the creation means of the application configuration library or the release means of the application provided by the embodiments of the present disclosure may be generally provided in the server 105. The creation method of the application configuration library or the release method of the application provided by the embodiments of the present disclosure may also be performed by a server or a server cluster that is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and/or the server 105. Accordingly, the creation means of the application configuration library or the release means of the application provided by the embodiments of the present disclosure may also be provided in a server or a server cluster that is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103 and/or the server 105.
Alternatively, the creation method of the application configuration library or the release method of the application provided by the embodiment of the present disclosure may also be performed by the first terminal device 101, the second terminal device 102, or the third terminal device 103, or may also be performed by other terminal devices different from the first terminal device 101, the second terminal device 102, or the third terminal device 103. Accordingly, the creating means of the application configuration library or the publishing means of the application provided by the embodiments of the present disclosure may also be provided in the first terminal device 101, the second terminal device 102, or the third terminal device 103, or in other terminal devices different from the first terminal device 101, the second terminal device 102, or the third terminal device 103.
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.
It should be noted that the sequence numbers of the respective operations in the following methods are merely representative of the operations for the purpose of description, and should not be construed as representing the order of execution of the respective operations. The method need not be performed in the exact order shown unless explicitly stated.
Fig. 2 schematically illustrates a flowchart of a method of creating an application configuration library according to an embodiment of the present disclosure.
As shown in fig. 2, the method for creating the application configuration library includes operations S210 to S240.
In operation S210, in response to receiving the application configuration request, application objects corresponding to the M application identifications indicated by the application configuration request are acquired, respectively.
According to embodiments of the present disclosure, an application configuration request may be used to characterize a request message sent by an administrator to change an application configuration. The application configuration may include, among other things, an application topology configuration, an application deployment configuration, an application media management, a base resource configuration, and the like. Application configuration may refer to relevant configuration information for describing an application. The above-described applications may be used to characterize applications installed in enterprise management platforms, such as Jira university, google analysis, and the like.
According to embodiments of the present disclosure, application identification may be used to characterize keywords or key fields that uniformly express application attributes. For example, the application identification may be an architecture field characterizing the application architecture, a feature field characterizing the operation and maintenance features, and so on.
According to embodiments of the present disclosure, application objects may be used to characterize an application description model that may be used to describe the full life cycle declaration of an application and its operating environment, which may be stored in a database in the form of a file, e.g., the application description model may include an application configuration file.
According to an embodiment of the present disclosure, the application object includes P application sub-objects corresponding to P phase identifiers, i.e., the application description model may include P application description sub-models corresponding to P phase identifiers, and the application sub-objects may be understood as application configuration sub-files corresponding to respective phase identifiers, where the phase identifiers may be used to characterize fields corresponding to respective phases, such as fields of development, test, production, operation, and the like, in a full lifecycle of the application. The application sub-object may be used to characterize an application object corresponding to the phase identification. For example, when the phase identifier is a test field, the application sub-object may be an application description model for the test phase.
In operation S220, version control branches corresponding to the P phase identifications of the M application identifications, respectively, are created in the application configuration library.
According to embodiments of the present disclosure, the application configuration library may be used to store and manage various configuration information of devices in an enterprise internet architecture, and may provide application configuration data for an operation and maintenance automation tool by managing the integrity of the application configuration library data through techniques and procedures. The application configuration library comprises a development library, a version control library, a working library, a backup library and the like.
Version control refers to the management of file changes such as various program code, configuration files, and description files in a software development process, according to embodiments of the present disclosure. Version control may include operations such as check-in and check-out control, branching and merging, history, and the like.
According to an embodiment of the present disclosure, version control may be further classified into centralized version control and distributed version control according to types, and version stores in the centralized version control are centrally stored in a central server. For example, centralized version control may apply a centralized version control System (SVN) with one open source code.
According to the embodiment of the disclosure, a central server does not exist in the distributed version control, and the cooperation of multiple persons only needs to be modified respectively, developed and pushed to the other party. For example, distributed version control may be applied to a distributed version control system (Git) of open source code.
According to embodiments of the present disclosure, git may be used to maintain and manage the history of entire items by tracking the snapshots of folders and files and recording the historical changes of those snapshots. Git can also be used for solving the problems of code backup, restoration, collaborative development, multi-version simultaneous development, tracing of problem codes and the like.
According to embodiments of the present disclosure, versioning branches can be used to characterize version sequences that start with a particular version of an existing branch but develop independently. In brief, the version control branch may be used to characterize a branch line that is separated from the main line for further operations.
According to an embodiment of the present disclosure, after a phase identifier corresponding to an application identifier is acquired, a version control branch corresponding to the phase identifier is created in an application configuration library. For example, if the application identifier of the application a is a big data operation, then a phase identifier corresponding to the application identifier of the application a, i.e. an operation phase, may create an operation branch in a local repository of an application configuration library, such as Git.
In operation S230, in response to detecting that Q target application sub-objects of the P application sub-objects corresponding to the M application identifiers respectively are changed, the target application identifiers corresponding to the Q target application sub-objects respectively, the target stage identifiers, and the changed target application sub-objects are determined.
According to the embodiment of the disclosure, when it is detected that one or more application sub-objects in the plurality of application sub-objects corresponding to the plurality of application identifiers are changed in information or actions, the changed application description models can be used as target application sub-objects, and the application identifiers and the stage identifiers corresponding to the target application sub-objects can be obtained and used as target application identifiers and target stage identifiers.
According to an embodiment of the present disclosure, the changing operation of the application sub-object may include a changing operation of application restart, capacity expansion, rollback, and the like.
In operation S240, in response to the verification of the changed target application sub-object, the target application sub-object is changed according to the changed target application sub-object by using the version control branch corresponding to the target application identifier and the target stage identifier, to obtain the changed application configuration library.
According to the embodiment of the disclosure, after receiving a modified target application description model and checking, modifying and replacing the target application description model in the application configuration library by using the version control branch corresponding to the target application identifier and the target stage identifier and the modified application description model to obtain an application configuration library storing the modified application description model, thereby realizing updating of the application configuration library.
A method 200 for creating an application configuration library according to an embodiment of the present invention is further described below with reference to fig. 3.
Fig. 3 schematically illustrates a flow chart of a method of creating an application configuration library according to a specific embodiment of the present disclosure.
As shown in fig. 3, the method 300 for creating an application configuration library in this embodiment includes: when the flow starts, an application object 301 is acquired, the acquired application object is pushed to a parameter checking module 302, the parameter checking module 302 checks the input application object 301, if the verification result is characterized as being unqualified, the flow is ended, error reporting information is fed back, and if the verification result is characterized as being qualified, the application object is pushed to an application configuration library 303.
If the application object 301 is changed, the changed application object 301 is pushed to the parameter checking module 302 again, the parameter checking module 302 checks the changed application object 301, if the check result indicates that the changed application object 301 is not qualified, the process is ended, error reporting information is fed back, and if the check result indicates that the changed application object 301 passes the check, the original application object in the application configuration library 303 is replaced by the changed application object, so as to update the application configuration library 303.
When the server receives an application configuration request, the embodiment of the disclosure obtains the application object corresponding to the application identifier, creates a version control branch corresponding to the stage identifier in the application configuration library, and when the application object is changed, performs accuracy and rationality check on the changed application object by using the version control branch corresponding to the target application identifier and the target stage identifier, and replaces the application object in the original application configuration library by the checked application object, thereby realizing real-time update of the application object in the application configuration library, at least partially overcoming the technical problems of inconsistent description and non-uniform rule between applications in different environments and different configurations due to strong coupling relation between the application and the environment and the configuration in the related art, and being beneficial to realizing application development by directly using the application object in the application configuration library.
According to an embodiment of the present disclosure, in response to receiving an application configuration request, an application object configuration template is invoked; for each application identifier in M application identifiers, for each stage identifier in P stage identifiers, acquiring application attribute information, one or more pieces of load configuration information, operation and maintenance configuration information and resource configuration information according to the application identifier and the stage identifier; creating a primary application configuration object corresponding to the application identifier and the stage identifier according to the application attribute information by using the application object configuration template; and creating a secondary application configuration object corresponding to the application identifier and the stage identifier according to one or more of the load configuration information, the operation and maintenance configuration information and the resource configuration information by using the application object configuration template.
According to an embodiment of the present disclosure, the application sub-objects include a primary application configuration object and a secondary application configuration object. Wherein the application configuration object may be used to describe the main functionality of the application object. For example, the application object may include at least one of: application profiles, component descriptions, resource descriptions, etc.
According to embodiments of the present disclosure, an application object configuration template is a base template for providing application objects to users, which can help developers quickly customize a model of an application.
According to embodiments of the present disclosure, a primary application configuration object may be used to describe application summary information of an application object. The application summary information may be used to characterize application attribute information of the application object.
According to the embodiment of the present disclosure, the above-described application attribute information, which is information belonging to the topmost configuration, may be used to define a delivery and management form of one system, system characteristics, contained components, description of system attributes from the whole, and the like. For example, the application attribute information may be information of an attribute name, an application type, a rights setting, and the like.
According to embodiments of the present disclosure, a secondary application configuration object may be used to describe component description information of an application object, the component description being a description of a minimum deployment unit of a system component, the component description information belonging to a secondary catalog of configurations. For example, the component description information may include load configuration information, operation and maintenance configuration information, and resource configuration information.
According to embodiments of the present disclosure, load configuration information may be used to define development attributes of component run-time, download paths of version packages, and the like. For example, component operating modalities may include legacy container deployments, virtual machine deployments, and so on.
According to the embodiment of the disclosure, the development attributes may further include attribute information such as deployment order, version confirmation required to be put into production, and deployment timing, and the development attributes may be provided by a developer.
According to embodiments of the present disclosure, the operation and maintenance configuration information may be used to define operation and maintenance attributes of the component, such as a scalable expansion policy, a monitoring configuration index, a deployment policy, a rollback policy, and the like. For example, the deployment policies may include canary deployment policies, greyscale deployment policies, bluish green deployment policies, and the like.
According to the embodiment of the disclosure, the operation and maintenance attribute can also comprise a range for covering daily operation and maintenance and set corresponding parameters, and the operation and maintenance attribute can be used as a reference standard of various matters of operation and maintenance and support flexible dynamic adjustment.
According to the embodiments of the present disclosure, the resource configuration information may be used to define resource requirements such as computing, storage, etc. of the environment to which the application is running, policies such as network access relationships, security, etc., and resource attributes such as an operating system and running base software. For example, the infrastructure resource information for running the application includes information of a system, cpu, memory, hard disk, etc., and the application-dependent base software includes a software development kit (Java Development Kit, JDK), a high-performance reverse proxy server (nginx), etc.
According to embodiments of the present disclosure, resource attributes may also be used to define the complete running infrastructure and software dependencies of an application, ensuring consistency of configuration descriptions and actual running resources.
FIG. 4 schematically illustrates a schematic diagram of configuration properties of an application configuration object according to a specific embodiment of the present disclosure.
As shown in fig. 4, a schematic diagram 400 of configuration properties of an application configuration object of a particular embodiment of the present disclosure includes development properties, operation and maintenance properties, and resource properties.
The development attributes comprise running forms, components, deployment time sequences, life cycles and the like in the application arrangement process.
The operation and maintenance attributes comprise deployment policies, expansion policies, emergency policies, load policies, rollback policies, monitoring policies and the like in the operation and maintenance policy arrangement process.
The resource attributes comprise the attributes of an operating system, a hard disk, a memory, a central processing unit and the like in a server, network attributes of load balancing, secure socket layer (Secure Socket Layer, SSL) encryption and decryption, domain name distribution, network hardware equipment, mechanism lines, private lines and the like in a network, security attributes of a firewall, host security, container security, vulnerability scanning, intrusion detection, encryption and the like in the security attributes, and software attributes of middleware, a database, JDK, a big data component and the like in basic software.
A method 500 of creating a primary application configuration object according to an embodiment of the present invention is further described below with reference to fig. 5.
Fig. 5 schematically illustrates a flowchart of a method of creation of a primary application configuration object according to an embodiment of the present disclosure.
As shown in fig. 5, in operation S510, it is determined whether an application configuration request is received? If not, ending the flow; if so, the object configuration template 501 is invoked.
Application attribute information 504 of the application object is obtained from each application identity 502 and each phase identity 503 of the plurality of application configuration request indications.
Using the application object configuration template 501 and the application attribute information 504, a primary application configuration object 505 corresponding to the application identification 502 and the phase identification 503 is created in the application configuration library.
Alternatively, a method 600 of creating a secondary application configuration object according to an embodiment of the present invention may be further described with reference to fig. 6.
Fig. 6 schematically illustrates a flowchart of a method of creating a secondary application configuration object according to an embodiment of the present disclosure.
As shown in fig. 6, in operation S610, it is determined whether an application configuration request is received? If not, ending the flow; if so, the object configuration template 601 is invoked.
One or more of load configuration information, operation and maintenance configuration information, and resource configuration information 604 of the application object is obtained according to each application identifier 602 and each phase identifier 603 in the plurality of application configuration request indications.
Using the application object configuration template 601 and one or more of load configuration information, operation and maintenance configuration information, and resource configuration information 604, a secondary application configuration object 605 corresponding to the application identification 602 and the phase identification 603 is created in the application configuration library.
The embodiment of the disclosure uniformly describes application objects through application identifiers such as application architecture, deployment architecture, operation and maintenance features and the like from the angles of different stage identifiers such as development, test and operation and maintenance, and calls an application object configuration template, acquired application attribute information, one or more pieces of load configuration information, operation and maintenance configuration information and resource configuration information to create a primary application configuration object and a secondary application configuration object so as to support random expansion of attributes and realize dynamic configuration and flexible definition of parameters.
According to an embodiment of the present disclosure, the method further includes, after determining the target application identifier, the target phase identifier, and the changed target application sub-object corresponding to each of the Q target application sub-objects in response to detecting that Q target application sub-objects of the P application sub-objects corresponding to each of the M application identifiers are changed: determining a primary object check rule and a secondary object check rule according to the target stage identification aiming at each target application sub-object in the Q target application sub-objects; checking the primary application configuration object corresponding to the target stage identifier according to the primary object checking rule to obtain a primary object checking result; responding to the primary object verification result to represent that the primary application configuration object passes verification, and verifying the secondary application configuration object corresponding to the target stage identifier according to a secondary object verification rule to obtain a secondary object verification result; and responding to the secondary object verification result to represent that the secondary application configuration object passes the verification, and determining an application sub-object verification result representing that the changed target application sub-object passes the verification.
According to an embodiment of the present disclosure, the object check rule is used to perform validity, rationality, and compliance checks on the attribute parameters in the application object. The verification rule may be set for attribute information of different phases of the target application object. For example, the attribute parameters of the application object in the testing environment may be verified by comparing, matching, etc. with the application object stored in the open source database.
According to an embodiment of the present disclosure, after detecting that one or more target application objects have changed in information among application objects corresponding to each of a plurality of application identifiers, and determining a target application identifier, a target phase identifier, and a changed target application object corresponding to each of the one or more target application objects, for each target application object, a primary object check rule and a secondary object check rule are determined according to the target phase identifier.
According to the embodiment of the disclosure, according to the set primary object verification rule, verifying the application summary at the configuration top layer in the application object corresponding to the target stage identifier to obtain a primary object verification result.
According to the embodiment of the disclosure, when the primary object verification result indicates that the application summary in the configuration top layer in the application object passes the verification of accuracy, rationality and the like, the component description in the configuration secondary catalog in the application object corresponding to the target stage identifier is verified according to the set secondary object verification rule, and the secondary object verification result is obtained.
According to the embodiment of the disclosure, when the secondary object verification result indicates that the component description passes the verification, an application object verification result indicating that the changed target application object passes the verification can be determined.
A method 700 for determining the verification result of an application child object according to an embodiment of the present invention is further described below with reference to fig. 7.
Fig. 7 schematically illustrates a flowchart of a method of determining a verification result of an application child object according to an embodiment of the present disclosure.
As shown in fig. 7, the primary application configuration 701 is checked according to the primary object check rule 702, to obtain a primary object check result 703, and through the determining operation S710, it is determined whether the primary application configuration object passes the check? If not, the process is ended.
If so, the secondary application configuration 704 is continuously checked according to the stimulus object check rule 705 to obtain a secondary object check result 706, and the determination of whether the secondary application configuration object passes the check is performed through the decision operation S720? If not, ending the flow; if so, the application sub-object verification result 707 is output.
According to the embodiment of the disclosure, the primary object verification rule and the secondary object verification rule are determined according to the target stage identification, and the application summary and the component description information in the configuration top layer and the configuration secondary catalog are verified respectively, so that the parameter verification of the application object is realized, and the accuracy of the application object is improved.
According to the embodiment of the disclosure, determining operation fault information of a changed target application sub-object in response to the primary object verification result representing that the primary application configuration object fails verification or the secondary object verification result representing that the secondary application configuration object fails verification; and outputting the target application identifier, the target stage identifier, the changed target application sub-object and the operation fault information.
According to embodiments of the present disclosure, operational fault information may include fault information such as parameter errors, field imperfections, description irregularities, and the like.
According to the embodiment of the disclosure, if the primary object verification result indicates that the application summary in the top configuration layer in the application object fails to pass the verification, or if the secondary object verification result indicates that the component description in the secondary configuration directory in the application object fails to pass the verification, specific content of the modified target application sub-object, that is, the operation failure information of the application object, is automatically determined, and the target application identifier, the target stage identifier, the modified target application sub-object and the operation failure information are output, so as to prompt the user that the user fails in the process of updating the application object.
According to the embodiment of the disclosure, after verification, it is determined that an operation fault exists, the application object is prevented from being continuously changed while fault information is output, and verification is performed again after error data are corrected in time until all target application objects pass the verification.
According to the embodiment of the disclosure, through determining the running fault information of the primary application configuration object or the secondary application configuration object which is not checked, timely reminding is carried out on the change of the target application object which is not standardized, the change implementation is prevented, and the error data is checked again after timely correction, so that the accuracy of the change of the target application object information is improved.
Fig. 8 schematically illustrates a flowchart of a method of altering application configuration information according to an embodiment of the present disclosure.
As shown in fig. 8, operation S240 may include operations S841 to S843.
In operation S841, the current version information in the configuration library is applied to replace the current version information according to the updated version information by using the version control branch corresponding to the target stage identifier, thereby obtaining the modified version information.
In operation S842, for each of the T second object name fields, the second object name field is respectively matched with the S first object name fields to obtain a target object name field.
In operation S843, the current object value field corresponding to the target object name field is replaced with the version control branch corresponding to the target phase identifier according to the updated object value field, to obtain the changed application configuration information.
According to an embodiment of the present disclosure, the target application sub-object includes current version information, S first object name fields, and current object value fields corresponding to the S first object name fields, respectively, and the modified target application sub-object includes updated version information, T second object name fields, and updated object value fields corresponding to the T second object name fields, respectively.
According to embodiments of the present disclosure, version information refers to detailed information attached at the time of release of software or an operating system, including version number, release date, belonging developer, applicable platform, and the like. For example, some mobile-end version information includes: version name is Windows 10, version number is 22.2, release date is 2023-01-01.
According to embodiments of the present disclosure, an object name field may be used to characterize a field corresponding to a name of an application sub-object, and an object value field may be used to characterize specific description or actual data corresponding to a name field of an application sub-object.
For example, a data table named "application child object A" is currently created, which contains three fields: the specific descriptions of the three fields, namely the running form, whether encryption or not and the deployment strategy, are as follows: the "virtual machine form", "encryption", "gray level policy", then the "running form", "whether encryption" and "deployment policy" are the object name fields corresponding to the application sub-object a, and the "virtual machine form", "encryption", "gray level policy" are the object value fields corresponding to the three object name fields.
According to the embodiment of the disclosure, after the changed application object passes the verification, the version control branch corresponding to the target stage identifier is utilized to replace the current version information corresponding to the application object before the change in the current application configuration library according to the updated version information corresponding to the changed application object, so that the version information corresponding to the changed application object can be obtained.
According to the embodiment of the disclosure, all second object name fields corresponding to the application object after modification are respectively matched with all first object name fields corresponding to the application object before modification to obtain a matching result, and if the matching result represents that the first object name fields are matched with the second object name fields, the object name fields are not required to be modified and replaced; and if the matching result indicates that the first object name field and the second object name field are not matched, taking the one or more unmatched second object name fields as target object name fields.
And replacing the current object value field corresponding to the target object name field, namely one or more unmatched second object name fields, by utilizing the version control branch corresponding to the target stage identification and the updated object value field corresponding to the updated application object, wherein the application object subjected to field value replacement can form an updated application configuration library.
According to the embodiment of the disclosure, the version information, the object name field and the object value field are introduced to match the current target application sub-object with the changed target application sub-object, and the original target application sub-object in the application configuration library is updated by replacing the object value field with inconsistent matching results, so that the configuration information stored in the application configuration library is updated in real time according to configuration change, and the accuracy of the configuration information in the configuration library can be improved on the basis of automatic update.
Fig. 9 schematically illustrates a flowchart of a method of creating a version control branch according to an embodiment of the present disclosure.
As shown in fig. 9, operation S220 may include operations S921 to S924 in 900.
In operation S921, a development branch is created from the primary application configuration object and the secondary application configuration object corresponding to the development stage identification.
In operation S922, a test branch is created from the primary application configuration object and the secondary application configuration object corresponding to the test phase identification.
In operation S923, a production branch is created from the primary application configuration object and the secondary application configuration object corresponding to the production phase identification.
In operation S924, a disaster recovery branch is created according to the primary application configuration object and the secondary application configuration object corresponding to the disaster recovery stage identification.
According to an embodiment of the present disclosure, the phase identification includes a field identification of one or more development phases, a field identification of a test phase, a field identification of a production phase, and a field identification of a disaster recovery phase.
According to an embodiment of the present disclosure, a development branch is created from a primary application configuration object and a secondary application configuration object corresponding to a development stage identification.
For example, when there is a cross-iteration task, a copy is pulled from the development branch, the iteration task development is performed on the copy, and after the task development is completed, the task development is merged into the development main branch, and returns to the normal development flow.
According to an embodiment of the present disclosure, a test branch is created from a primary application configuration object and a secondary application configuration object corresponding to a test phase identification.
For example, problem testing, regression testing, performance stress testing, etc. are all handled using test branches, and after the final test of the version passes, the test report may be submitted to the product sector, which decides whether to issue the production branch.
According to an embodiment of the present disclosure, a production branch is created from a primary application configuration object and a secondary application configuration object corresponding to a production phase identification. The production branch can be used to characterize the formal environment of our online use, cannot be changed at will, and each release marks a version and a backup.
For example, when an urgent need or problem needs to be modified, a copy can be pulled from a formal branch, development or repair is performed on the basis of the copy and then testing is performed, regression and other operations are completely error-free, after final confirmation, a product staff can issue the copy into a production environment, and the version in development is followed by one corresponding to a marked version, and finally the normal development flow is returned.
According to an embodiment of the present disclosure, a disaster recovery branch is created from a primary application configuration object and a secondary application configuration object corresponding to a disaster recovery stage identity. The disaster recovery branch can provide application system taking over capability, namely, the disaster recovery branch can take over application under the condition that the production center fails.
According to the embodiment of the disclosure, corresponding application configuration objects in a plurality of different environments such as development, production, test, disaster recovery and the like are identified according to different stages so as to create corresponding version control branches, when the application objects are changed, change information can be distributed to each version control branch in real time, and corresponding change actions are carried out on an application configuration library in time, so that the system downtime is reduced as much as possible, and the continuity of application operation and production is improved.
Fig. 10 schematically shows a flowchart of a publication method of an application according to an embodiment of the present disclosure.
As shown in fig. 10, the publishing method 1000 of the application includes operations S1010 to S1030.
In operation S1010, in response to receiving the application release request, an application object to be released is acquired from the application configuration library using the version control branch corresponding to the application identifier to be released and the stage identifier to be released in the application release request.
According to an embodiment of the present disclosure, the application release request may include respective identification information corresponding to the application configured to wait to be released. Such as application identification, phase identification, time identification, etc. The application identifier to be issued can be used for characterizing the application identifier such as the operation and maintenance characteristics, the application architecture and the like corresponding to the application to be issued after configuration. The to-be-issued stage identifier can be used for characterizing stage identifiers of different environmental stages such as production, disaster recovery and the like corresponding to the configured application to be issued. The application object to be published can be used for representing the application object corresponding to the application waiting to be published after configuration in the application configuration library.
According to the embodiment of the disclosure, after an application release request is received, an application object to be released, which is matched with an updated application configuration library, is selected from the updated application configuration library by using an application identifier to be released in the release request and a version control branch corresponding to a stage identifier to be released, that is, an application object corresponding to the application to be released is selected.
In operation S1020, the application object to be published is processed to obtain a processed application object.
According to the embodiment of the disclosure, after the application object corresponding to the application to be published is selected from the latest application configuration library, description conversion processing is performed on the selected application object, so that the processed application object can be consistent in the description form in the application publishing request, and the processed application object is used as the processed application object.
In operation S1030, a target application corresponding to the application identification to be distributed is distributed according to the processed application object.
According to the embodiment of the disclosure, according to the application object subjected to the description conversion processing, the target application corresponding to the application identifier to be distributed is distributed to different platforms.
According to the embodiment of the disclosure, after an application release request is received, an application object to be released corresponding to the application to be released is called from an application configuration library, and the application object to be released is enabled to be consistent with a description form in the application release request after being processed through description conversion processing of the application object to be released, so that target applications matched with the description form of the platform can be released to different platforms when the application is released, differences in different environments are shielded, application description and platform decoupling of the target application to be released is achieved, and therefore adaptation capacity of the application object is improved, and application production efficiency is improved.
Fig. 11 schematically illustrates a flowchart of a method for acquiring an application object to be published according to an embodiment of the disclosure.
As shown in fig. 11, operation S1010 may include operations S1111 to S1113 in 1100.
In operation S1111, in response to receiving the application publishing request, the application identifier to be published and the M application identifiers are respectively matched, so as to obtain a target application identifier.
According to the embodiment of the disclosure, after an application release request is received, an application identifier of an application to be released and one or more application identifiers indicated by the application configuration request are respectively matched, and the matched application identifier is used as a target application identifier.
In operation S1112, the to-be-issued stage identifier and the P version control branches corresponding to the target application identifier are respectively matched to obtain a target version control branch.
According to the embodiment of the disclosure, the stage identifiers of the applications to be distributed and the version control branches corresponding to the target application identifiers are respectively matched, the matched version control branches are used as target version control branches, and one or more version control branches corresponding to one or more application identifiers are stored in an application configuration library.
In operation S1113, an application object to be published is acquired from the application configuration library using the target version control branch.
According to the embodiment of the disclosure, according to the matched target version control branch, an application object of the application to be deployed, which corresponds to the target version control branch, is called out from the application configuration library.
According to the embodiment of the disclosure, the application object with the consistent matching result can be used as the application object of the application to be distributed by matching the application identifier and the stage identifier of the application to be distributed with the application identifier and the version control branch stored in the application configuration library, so that the application object of the version control branch corresponding to the application to be distributed is quickly called, and the application production efficiency is improved.
According to an embodiment of the present disclosure, processing an application object to be published, obtaining a processed application object includes at least one of: according to the provider identification in the load configuration information, processing the application object to be released by using an application programming interface corresponding to the provider identification to obtain a processed application object; according to the operation and maintenance strategy identification in the operation and maintenance configuration information, processing the application object to be released by using the operation and maintenance strategy corresponding to the operation and maintenance strategy identification to obtain a processed application object; and processing the application object to be released by utilizing the resource deployment script corresponding to the basic resource identifier according to the basic resource identifier in the resource configuration information to obtain a processed application object.
According to an embodiment of the present disclosure, the application object to be published includes a primary application configuration object and a secondary application configuration object, where the primary application configuration object and the secondary application configuration object are the same as the above description, and are not described herein again.
According to the embodiment of the disclosure, according to the provider identifier in the load configuration information, an application program programming interface corresponding to the provider identifier is utilized to process an application object to be published to obtain a processed application object
According to embodiments of the present disclosure, the provider identification may be used to characterize identification information corresponding to the application commissioning platform included in the application publishing request. For example, if the application A is characterized in the application release request to be put into production in the container platform, the provider identification is the container platform.
According to embodiments of the present disclosure, application programming interfaces may be used to enable intercommunication between computer software. For example, data sharing between applications may be achieved by conversion to a standard access query language.
According to the embodiment of the disclosure, a provider identifier corresponding to an application release request is screened out according to a secondary application configuration object, namely load configuration information in component description, an application programming interface corresponding to the provider identifier is called, translation and other processing are carried out on an application object of an application to be released, and the processed application object is a processed application object.
For example, after an application object matched with an application to be deployed is called, a corresponding application programming interface can be matched according to load configuration information such as information of container deployment, version package download path and the like, and the application object matched with an application production platform can be output by calling the application programming interface to translate the application object in a universal language standard.
A method for processing an application object to be deployed according to an embodiment of the present invention will be further described with reference to fig. 12.
Fig. 12 schematically illustrates a schematic diagram of a processing method of an application object to be published according to an embodiment of the present disclosure.
As shown in 1200 in fig. 12, the changed application configuration model 1201 is pushed to the application object processing platform 1202, the application programming interfaces corresponding to the container platform 1203 and the legacy architecture 1204 respectively are called by the application object processing platform 1202, the application configuration model 1201 is processed, and the processed adapted application configuration model 1201 is configured to the container platform 1203 and the legacy architecture 1204 respectively.
In the container platform 1203, the arranged application object 1201 is pushed to the multi-container running unit POD of the cluster deployment application and service through a container cluster management system (Kubernetes, K8S) to realize the configuration of the application.
Alternatively, in the conventional architecture 1204, the arranged application object 1201 may be pushed to the corresponding virtual machine through the business stack and the internet stack identifier to implement configuration of the application.
According to the embodiment of the disclosure, according to the operation and maintenance configuration information in the secondary application configuration object, namely the component description, operation and maintenance strategy identifiers such as monitoring strategies, telescopic strategies and the like corresponding to the application release request are screened out, and adjustment processing such as monitoring, telescopic and the like is carried out on the application object of the application to be released, so that the application object adapted by the application production platform is obtained.
According to the embodiment of the disclosure, the secondary application configuration object, namely the resource configuration information in the component description, screens out basic resource identifiers corresponding to the application release request, such as a system, a hard disk, application dependent basic software and the like, and adjusts the application object of the application to be released by using the resource deployment script corresponding to the basic resource identifiers, so as to obtain the application object adapted by the application production platform.
According to the embodiment of the disclosure, by introducing three different processing methods of the application object to be distributed, the application object can be adapted to different application platforms, and the application object can be compatible with a traditional architecture and a container platform at the same time, so that decoupling of the application object and the application platform is realized.
According to an embodiment of the present disclosure, the version control branch includes at least one of a development branch for controlling an application sub-object of the development stage, a test branch for controlling an application sub-object of the test stage, a production branch for controlling an application sub-object of the production stage, and a disaster recovery branch for controlling an application sub-object of the disaster recovery stage.
According to embodiments of the present disclosure, version control branches under different environments created in an application configuration library include one or more development branches, test branches, production branches, and disaster recovery branches. Specifically, the development branch is used for controlling the application object of the development stage, the test branch is used for controlling the application object of the test stage, the production branch is used for controlling the application object of the production stage, and the disaster recovery branch is used for controlling the application object of the disaster recovery stage.
According to the embodiment of the disclosure, a development branch, a test branch, a production branch and a disaster recovery branch can be created according to a primary application configuration object and a secondary application configuration object which respectively correspond to a development stage identifier, a test stage identifier, a production stage identifier and a disaster recovery stage identifier.
According to an embodiment of the present disclosure, publishing a target application corresponding to an application identification to be published according to a processed application object includes: in response to detecting that the development branch has completed for the development operation of the application sub-object of the development stage, initiating a first merge request; merging the development branches to the test branches according to the first merging request; in response to detecting that the test branch has completed for the test phase's application sub-object, initiating a second merge request; merging the test branches to the production branches according to the second merging request; and compiling the processed application object according to the release address information to obtain the target application.
According to an embodiment of the present disclosure, the application publishing request further includes publishing address information. For example, the link address uploaded to the server by the application program may be used as the release address information.
According to the embodiment of the disclosure, in the process of controlling the flow of the application production, development is used as an initiating point of application object change, and the development branch is maintained, for example, the information including application version, environment parameters, deployment script and the like is included. When the server detects that the development branch has been developed for the application object of the development stage, a first merge request to merge the development branch into the test branch is initiated.
According to the embodiment of the disclosure, after the development branches are merged into the test branches, test operations are performed on the application objects in the merged branches, for example, verification and approval are performed on the application description modification and the application deployment effect thereof or approval and approval are performed on the modification. Upon detecting that the test operation of the test branch for the application object of the test phase has been completed, a second merge request is initiated to merge the test branch into the production branch.
According to the embodiment of the disclosure, after the test branches are merged into the production branches, the application objects in the merged branches are subjected to production operation, and the configured application objects are delivered to different platforms.
According to the embodiment of the disclosure, after operations such as development and test are performed on the application object in each version control branch, compiling processing is performed on the processed application object according to the release address information contained in the application release request, so as to obtain the target application.
A method 1300 of publishing a target application in accordance with an embodiment of the invention is further described with reference to fig. 13.
Fig. 13 schematically illustrates a schematic diagram of a publishing method of a target application according to an embodiment of the disclosure.
As shown in fig. 13, the development test area includes a development branch and a test branch, the production area expands the production branch and disaster recovery branch, the application object is pushed to the development branch, after the development operation of the developer, a merging request for merging the development branch to the test branch is provided, and meanwhile, the application configuration library can send out a notification that the merging action occurs on the branch where the application model is located in the development environment.
After merging, the tester performs test operation on the merged test branches, and after the test operation of the tester, a merging request for merging the test branches into the production branches is provided, and meanwhile, the application configuration library can send out a notification that merging action occurs on the branches where the application model is located in the test environment.
After merging, operation and maintenance are carried out on the merged production branches by operation and maintenance personnel, if the production center does not have faults after the operation and maintenance operation of the operation and maintenance personnel, the operation of producing the application objects in the merged branches is carried out, the configured application objects are delivered to different platforms, and meanwhile, the application configuration library can send out notification of pushing actions of the branches where the application model is located in the production environment.
After operation and maintenance operations of operation and maintenance personnel, if a production center fails, a merging request for merging a production branch into a disaster recovery branch is provided, the disaster recovery branch can take over application, after failure processing, the operation of producing the application objects in the merged branches can be carried out, the configured application objects are pushed to different platforms for delivery, and meanwhile, an application configuration library can send out notification of pushing or merging actions of the branches where the application model is located in the disaster recovery environment.
In the embodiment of the disclosure, the development is used as an initiating point of application configuration file change, the development branch is maintained, the merging request is submitted to the test branch, the application description modification and the application deployment effect thereof are verified and audited in the test stage, the merging request is submitted to the production branch, and the application object is driven to be handed over from the development state to the running state through operation and maintenance approval in the production stage, so that closed-loop management and control of application production are completed, and the application production efficiency is improved.
Referring now to fig. 14, fig. 14 is a schematic diagram illustrating one embodiment of the method for creating an application configuration library and the method for publishing an application.
Fig. 14 schematically illustrates a schematic diagram of an application product architecture according to a specific embodiment of the present disclosure.
As shown in fig. 14, the application product architecture 1400 of this embodiment includes a three-tier architecture of a commissioning application service layer, a cloud native support service layer, and an infrastructure support layer.
The production application service layer comprises an application description platform and a flow control platform.
In the application description platform, a development unit is used for arranging the application objects, a basic template of the application objects, namely an application object configuration template is provided for a user, and a developer of the development unit is helped to quickly customize the application objects according to application configuration requests.
Alternatively, if the application object is changed, checking the changed application object, replacing the application object in the application configuration library by using different version control branches created in the application configuration library, and outputting the updated application configuration model to the cloud primary support service layer.
Alternatively, the production application service layer further comprises a flow control platform, the flow control platform can provide a model merging approval function for operation and maintenance personnel of the data center, and the consistency of the application objects is ensured by enabling the application objects to be changed from a development state to an operation state through approval of application objects such as drive versions and frameworks.
The cloud native support service layer comprises an application configuration library, a version control branch management center and an application object processing center.
In the cloud native support service layer, application objects called from the production application service layer can be translated and converted, and the application objects are adapted to different platforms through requirements such as language standards, so that the change of application configuration is timely fed back to the infrastructure support layer through processing.
The cloud native support service layer may be used to configure a unified application configuration library such as a Git-centric warehouse. After the application configuration library is created, the application objects arranged by the production application service layer can be unified and concentrated into the application configuration library for unified management and control of the application objects.
Alternatively, the cloud native support service layer may be further configured to perform unified management on version control branches and branch authorities corresponding to different stage identifiers in the version control branch center, so as to ensure that the target application is configured in different branches during the production process to effectively merge flows.
Alternatively, the cloud native support service layer may be further configured to provide an application programming interface (Application Programming Interface, API) for the invoked application object in the application object processing center, and perform, according to requirements such as a language standard, processing such as translation, conversion, etc. on the application to be published, so as to implement modification operations such as restarting, capacity expansion, rollback, etc. of the application.
Alternatively, the cloud native support service layer may also be used to provide scripting capabilities of the application object, such as performing backup, integration test, old service stop, new service start, technical verification, green light test, and so on, related commissioning operations during the application commissioning process, so as to ensure consistency and accuracy of the application commissioning.
Alternatively, the cloud native support service layer may also be configured to provide a push/merge management function, and by using a notification function of the application configuration library, a message can be timely sent out when the application object performs a push or merge related action, so as to inform the cloud platform of timely response to the change of the application.
The infrastructure support layer is used for providing a basic environment for running the application so as to interface with the cloud primary support service layer, so as to apply for corresponding computing resources and realize automatic deployment of the application. The infrastructure support layer may be a platform such as a virtual machine, cloud platform, or the like.
Fig. 15 schematically shows a block diagram of an application configuration library creation apparatus according to an embodiment of the present disclosure.
As shown in fig. 15, the creation apparatus 1500 of the application configuration library may include a first acquisition module 1510, a creation module 1520, a determination module 1530, and a change module 1540.
The first obtaining module 1510 is configured to obtain, in response to receiving the application configuration request, an application object corresponding to each of M application identifiers indicated by the application configuration request, where the application object includes P application sub-objects corresponding to each of P stage identifiers. In an embodiment, the first obtaining module 1510 may be used to perform the operation S210 described above, which is not described herein.
A creating module 1520, configured to create version control branches corresponding to the P phase identifications of the M application identifications, respectively, in the application configuration library. In an embodiment, the creation module 1520 may be configured to perform the operation S220 described above, which is not described herein.
The determining module 1530 is configured to determine, in response to detecting that Q target application sub-objects in the P application sub-objects corresponding to the M application identifiers respectively change, a target application identifier corresponding to the Q target application sub-objects respectively, a target stage identifier, and a changed target application sub-object. In an embodiment, the determining module 1530 may be used to perform the operation S230 described above, which is not described herein.
The changing module 1540 is configured to respond to the verification of the changed target application sub-object, and utilize the version control branch corresponding to the target application identifier and the target stage identifier to change the target application sub-object according to the changed target application sub-object, so as to obtain the changed application configuration library. In an embodiment, the modification module 1540 may be configured to perform the operation S240 described above, which is not described herein.
According to an embodiment of the present disclosure, the first acquisition module 1510 includes a calling unit, a first acquisition unit, a first creation unit, and a second creation unit.
The calling unit is used for calling the application object configuration template in response to receiving the application configuration request.
The first obtaining unit is configured to obtain, for each application identifier of the M application identifiers, for each stage identifier of the P stage identifiers, at least one of application attribute information and load configuration information, operation and maintenance configuration information, and resource configuration information according to the application identifier and the stage identifier.
The first creating unit is used for creating a primary application configuration object corresponding to the application identifier and the stage identifier according to the application attribute information by using the application object configuration template.
The second creating unit is used for creating a secondary application configuration object corresponding to the application identifier and the stage identifier according to at least one of the load configuration information, the operation and maintenance configuration information and the resource configuration information by using the application object configuration template.
According to an embodiment of the present disclosure, the application configuration library creating apparatus 1500 further includes: the device comprises a second determining module, a first checking module, a second checking module and a third determining module.
The second determining module is used for determining a primary object checking rule and a secondary object checking rule according to the target stage identification aiming at each target application sub-object in the Q target application sub-objects.
The first verification module is used for verifying the primary application configuration object corresponding to the target stage identifier according to the primary object verification rule to obtain a primary object verification result.
The second verification module is used for responding to the primary object verification result to represent that the primary application configuration object passes verification, and verifying the secondary application configuration object corresponding to the target stage identifier according to the secondary object verification rule to obtain a secondary object verification result.
And the third determining module is used for responding to the secondary object verification result to represent the secondary application configuration object to pass the verification and determining an application sub-object verification result representing the changed target application sub-object to pass the verification.
According to an embodiment of the present disclosure, the application configuration library creating apparatus 1500 further includes: and the fourth determining module and the output module.
And the fourth determining module is used for determining the running fault information of the changed target application sub-object in response to the primary object verification result representing that the primary application configuration object fails to pass the verification or the secondary object verification result representing that the secondary application configuration object fails to pass the verification.
The output module is used for outputting the target application identifier, the target stage identifier, the changed target application sub-object and the operation fault information.
According to an embodiment of the present disclosure, the altering module 1540 includes: the device comprises a first replacing unit, a first matching unit and a second replacing unit.
The first replacing unit is used for replacing the current version information in the application configuration library according to the updated version information by utilizing the version control branch corresponding to the target stage identifier to obtain the changed version information. In an embodiment, the first replacing unit may be used to perform the operation S841 described above, which is not described herein.
The first matching unit is used for respectively matching the second object name field with the S first object name fields aiming at each second object name field in the T second object name fields to obtain a target object name field. In an embodiment, the first matching unit may be used to perform the operation S842 described above, which is not described herein.
The second replacing unit is used for replacing the current object value field corresponding to the target object name field according to the updated object value field by utilizing the version control branch corresponding to the target stage identifier, and obtaining changed application configuration information. In an embodiment, the second replacing unit may be used to perform the operation S843 described above, which is not described herein.
According to an embodiment of the present disclosure, the creation module 1520 includes: a third creation unit, a fourth creation unit, a fifth creation unit, and a sixth creation unit.
The third creating unit is used for creating a development branch according to the primary application configuration object and the secondary application configuration object corresponding to the development stage identification. In an embodiment, the third creating unit may be configured to perform the operation S921 described above, which is not described herein.
The fourth creating unit is used for creating a test branch according to the primary application configuration object and the secondary application configuration object corresponding to the test stage identification. In an embodiment, the fourth creating unit may be configured to perform the operation S922 described above, which is not described herein.
The fifth creation unit is used for creating a production branch according to the primary application configuration object and the secondary application configuration object corresponding to the production stage identification. In an embodiment, the fifth creating unit may be configured to perform the operation S923 described above, which is not described herein.
The sixth creating unit is configured to create a disaster recovery branch according to the primary application configuration object and the secondary application configuration object corresponding to the disaster recovery stage identifier. In an embodiment, the sixth creating unit may be configured to perform the operation S924 described above, which is not described herein.
Fig. 16 schematically illustrates a block diagram of a publishing apparatus of an application in accordance with an embodiment of the disclosure.
As shown in fig. 16, the publishing device 1600 of the application may include a second acquisition module 1610, a processing module 1620, and a publishing module 1630.
The second obtaining module 1610 is configured to obtain, in response to receiving the application publishing request, an application object to be published from the application configuration library by using a version control branch corresponding to the application identifier to be published and the stage identifier to be published in the application publishing request. In an embodiment, the second acquisition module 1610 may be configured to perform the operation S1010 described above, which is not described herein.
The processing module 1620 is configured to process the application object to be published to obtain a processed application object. In an embodiment, the processing module 1620 may be configured to perform the operation S1020 described above, which is not described herein.
And the issuing module 1630 is used for issuing the target application corresponding to the application identifier to be issued according to the processed application object. In an embodiment, the publishing module 1630 may be used to perform the operation S1030 described above, which is not described herein.
According to an embodiment of the present disclosure, the second acquisition module 1610 includes: the device comprises a second matching unit, a third matching unit and a second acquisition unit.
The second matching unit is used for respectively matching the application identifier to be issued and the M application identifiers in response to receiving the application issuing request to obtain the target application identifier. In an embodiment, the second matching unit may be used to perform the operation S1111 described above, which is not described herein.
And the third matching unit is used for respectively matching the to-be-issued stage identifier and the P version control branches corresponding to the target application identifier to obtain the target version control branch. In an embodiment, the third matching unit may be used to perform the operation S1112 described above, which is not described herein.
The second obtaining unit is used for obtaining the application object to be distributed from the application configuration library by utilizing the target version control branch. In an embodiment, the second obtaining unit may be configured to perform the operation S1113 described above, which is not described herein.
According to an embodiment of the present disclosure, the processing module 1620 includes a first processing unit, a second processing unit, and a third processing unit.
The first processing unit is used for processing the application object to be released by using an application programming interface corresponding to the provider identifier according to the provider identifier in the load configuration information to obtain a processed application object.
And the second processing unit is used for processing the application object to be released by utilizing the operation and maintenance strategy corresponding to the operation and maintenance strategy identification according to the operation and maintenance strategy identification in the operation and maintenance configuration information to obtain a processed application object.
And the third processing unit is used for processing the application object to be released by utilizing the resource deployment script corresponding to the basic resource identifier according to the basic resource identifier in the resource configuration information to obtain a processed application object.
According to an embodiment of the present disclosure, the publishing module 1630 includes: the system comprises a first request unit, a first merging unit, a second request unit, a second merging unit and a fourth processing unit.
The first request unit is configured to initiate a first merge request in response to detecting that a development branch has completed for an application child object of a development phase.
The first merging unit is used for merging the development branch to the test branch according to the first merging request.
The second request unit is configured to initiate a second merge request in response to detecting that the test operation of the test branch for the application sub-object of the test phase has been completed.
The second merging unit is used for merging the test branch to the production branch according to the second merging request.
And the fourth processing unit is used for compiling the processed application object according to the release address information to obtain the target application.
Any number of modules, sub-modules, units, sub-units, or at least some of the functionality of any number of the sub-units according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented as split into multiple modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system-on-chip, a system-on-substrate, a system-on-package, an Application Specific Integrated Circuit (ASIC), or in any other reasonable manner of hardware or firmware that integrates or encapsulates the circuit, or in any one of or a suitable combination of three of software, hardware, and firmware. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be at least partially implemented as computer program modules, which when executed, may perform the corresponding functions.
For example, any of the first acquisition module 1510, the creation module 1520, the determination module 1530, the modification module 1540, or the second acquisition module 1610, the processing module 1620, or the publishing module 1630 of the application publishing device 1600 of the application configuration library may be incorporated in one module/unit/sub-unit or any one of the modules/units/sub-units may be split into a plurality of modules/units/sub-units. Alternatively, at least some of the functionality of one or more of these modules/units/sub-units may be combined with at least some of the functionality of other modules/units/sub-units and implemented in one module/unit/sub-unit.
According to embodiments of the present disclosure, at least one of the first acquisition module 1510, the creation module 1520, the determination module 1530, the change module 1540, or the second acquisition module 1610, the processing module 1620, the publication module 1630 of the publication device 1600 of the application may be implemented at least in part as hardware circuitry, 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 in hardware or firmware in any other reasonable manner of integrating or packaging circuitry, or in any one of or a suitable combination of three implementations of software, hardware, and firmware. Alternatively, at least one of the first acquisition module 1510, the creation module 1520, the determination module 1530, the modification module 1540, or the second acquisition module 1610, the processing module 1620, the publishing module 1630 of the application publishing device 1600 of the application configuration library may be at least partially implemented as a computer program module which, when executed, may perform the corresponding functions.
It should be noted that, the creating device 1500 of the application configuration library and the publishing device 1600 of the application in the embodiment of the present disclosure correspond to the creating method of the application configuration library and the publishing method of the application in the embodiment of the present disclosure, and descriptions of the creating device 1500 of the application configuration library and the publishing device 1600 of the application refer specifically to the creating method of the application configuration library and the publishing method of the application, which are not described herein.
Fig. 17 schematically illustrates a block diagram of an electronic device adapted to implement the method of creating an application configuration library and the method of publishing an application according to an embodiment of the present disclosure.
The electronic device shown in fig. 17 is merely an example, and should not impose any limitations on the functionality and scope of use of embodiments of the present disclosure.
As shown in fig. 17, the computer electronic device 1700 according to the embodiment of the present disclosure includes a processor 1701 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 1702 or a program loaded from a storage section 1709 into a Random Access Memory (RAM) 1703. The processor 1701 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and/or an associated chipset and/or a special-purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 1701 may also include on-board memory for caching purposes. The processor 1701 may include a single processing unit or multiple processing units for performing the different actions of the method flows according to embodiments of the disclosure.
In the RAM 1703, various programs and data necessary for the operation of the electronic device 1700 are stored. The processor 1701, the ROM 1702, and the RAM 1703 are connected to each other through a bus 1704. The processor 1701 performs various operations of the method flow according to an embodiment of the present disclosure by executing programs in the ROM 1702 and/or the RAM 1703. Note that the program may be stored in one or more memories other than the ROM 1702 and the RAM 1703. The processor 1701 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in the one or more memories.
According to an embodiment of the disclosure, the electronic device 1700 may also include an input/output (I/O) interface 1705, the input/output (I/O) interface 1705 also being connected to the bus 1704. The electronic device 1700 may also include one or more of the following components connected to an input/output (I/O) interface 1705: an input section 1706 including a keyboard, a mouse, and the like; an output portion 1707 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker, and the like; a storage portion 1708 including a hard disk or the like; and a communication section 1709 including a network interface card such as a LAN card, a modem, or the like. The communication section 1709 performs communication processing via a network such as the internet. The driver 1710 is also connected to an input/output (I/O) interface 1705 as needed. A removable medium 1711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is installed as needed on the drive 1710, so that a computer program read therefrom is installed into the storage portion 1708 as needed.
According to embodiments of the present disclosure, the method flow according to embodiments of the present disclosure may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable storage medium, the computer program comprising program code for performing the method shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from a network via the communication portion 1709, and/or installed from the removable media 1711. The above-described functions defined in the system of the embodiments of the present disclosure are performed when the computer program is executed by the processor 1701. The systems, devices, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
The present disclosure also provides a computer-readable storage medium that may be embodied in the apparatus/device/system described in the above embodiments; or may exist alone without being assembled into the apparatus/device/system. The computer-readable storage medium carries one or more programs which, when executed, implement methods in accordance with 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. Examples may include, but are 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 context of this 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, the computer-readable storage medium may include ROM 1702 and/or RAM 1703 described above and/or one or more memories other than ROM 1702 and RAM 1703.
Embodiments of the present disclosure also include a computer program product comprising a computer program comprising program code for performing the methods provided by the embodiments of the present disclosure, the program code for causing an electronic device to implement the methods of creating an application configuration library and publishing an application provided by the embodiments of the present disclosure when the computer program product is run on the electronic device.
The above-described functions defined in the system/apparatus of the embodiments of the present disclosure are performed when the computer program is executed by the processor 1701. The systems, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program can also be transmitted in the form of signals over a network medium, distributed, and downloaded and installed via the communication portion 1709, and/or from the removable medium 1711. The computer program may include program code that may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
According to embodiments of the present disclosure, program code for performing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, such computer programs may be implemented in high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. Programming languages include, but are not limited to, such as Java, c++, python, "C" or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, 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., connected via the Internet using an Internet service provider).
The flowcharts 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 the features recited in the various embodiments of the disclosure and/or in the claims may be combined in various combinations and/or combinations, even if such combinations or combinations are not explicitly recited in the disclosure. In particular, the features recited in the various embodiments of the present disclosure and/or the claims may be variously combined and/or combined without departing from the spirit and teachings of the present disclosure. All such combinations and/or combinations fall 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 above separately, 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 made by those skilled in the art without departing from the scope of the disclosure, and such alternatives and modifications are intended to fall within the scope of the disclosure.

Claims (16)

1. A method of creating an application configuration library, comprising:
in response to receiving an application configuration request, acquiring application objects corresponding to M application identifiers indicated by the application configuration request, wherein the application objects comprise P application sub-objects corresponding to P stage identifiers;
creating version control branches corresponding to the P stage identifiers of the M application identifiers respectively in an application configuration library;
in response to detecting that Q target application sub-objects in the P application sub-objects corresponding to the M application identifiers respectively change, determining target application identifiers corresponding to the Q target application sub-objects respectively, target stage identifiers and changed target application sub-objects; and
Responding to the verification of the changed target application sub-object, and changing the target application sub-object according to the changed target application sub-object by utilizing the version control branch corresponding to the target application identifier and the target stage identifier to obtain a changed application configuration library;
wherein P, Q and M are positive integers, and Q is less than or equal to P.
2. The method of claim 1, wherein the application sub-objects comprise a primary application configuration object and a secondary application configuration object;
the responding to the receiving of the application configuration request, the obtaining of the application object corresponding to each of the M application identifiers indicated by the application configuration request comprises the following steps:
in response to receiving the application configuration request, invoking an application object configuration template;
for each of the M application identifications, for each of the P phase identifications,
acquiring at least one of application attribute information, load configuration information, operation and maintenance configuration information and resource configuration information according to the application identifier and the stage identifier;
creating the primary application configuration object corresponding to the application identifier and the stage identifier according to the application attribute information by using the application object configuration template; and
And creating the secondary application configuration object corresponding to the application identifier and the stage identifier according to at least one of the load configuration information, the operation and maintenance configuration information and the resource configuration information by using the application object configuration template.
3. The method of claim 2, further comprising, after said determining, in response to detecting that Q target application sub-objects of the P application sub-objects corresponding to each of the M application identifications are changed, a target application identification, a target phase identification, and a changed target application sub-object corresponding to each of the Q target application sub-objects:
for each of the Q target application sub-objects,
determining a primary object verification rule and a secondary object verification rule according to the target stage identification;
checking the primary application configuration object corresponding to the target stage identifier according to the primary object checking rule to obtain a primary object checking result;
responding to the primary object verification result to represent that the primary application configuration object passes verification, and verifying the secondary application configuration object corresponding to the target stage identifier according to the secondary object verification rule to obtain a secondary object verification result; and
And responding to the secondary object verification result to represent that the secondary application configuration object passes verification, and determining an application sub-object verification result representing that the changed target application sub-object passes verification.
4. A method according to claim 3, further comprising:
determining operation fault information of the changed target application sub-object in response to the primary object verification result representing that the primary application configuration object fails verification or the secondary object verification result representing that the secondary application configuration object fails verification; and
and outputting the target application identifier, the target stage identifier, the changed target application sub-object and the operation fault information.
5. The method of any of claims 1-4, wherein the target application sub-object includes current version information, S first object name fields, and current object value fields corresponding to each of the S first object name fields, and the altered target application sub-object includes updated version information, T second object name fields, and updated object value fields corresponding to each of the T second object name fields;
and responding to the verification of the changed target application sub-object, and using the version control branch corresponding to the target application identifier and the target stage identifier to change the target application sub-object according to the changed target application sub-object, so as to obtain a changed application configuration library, wherein the method comprises the following steps:
Replacing the current version information in the application configuration library by utilizing the version control branch corresponding to the target stage identifier according to the updated version information to obtain modified version information;
for each of the T second object name fields,
respectively matching the second object name field with the S first object name fields to obtain a target object name field; and
and replacing a current object value field corresponding to the target object name field by using the version control branch corresponding to the target stage identifier according to the updated object value field to obtain changed application configuration information.
6. The method of any of claims 1-4, wherein the phase identification comprises at least one of a development phase identification, a test phase identification, a production phase identification, and a disaster recovery phase identification;
the creating version control branches corresponding to the P stage identifications of the M application identifications in the application configuration library comprises:
creating a development branch according to the primary application configuration object and the secondary application configuration object corresponding to the development stage identification;
Creating a test branch according to the primary application configuration object and the secondary application configuration object corresponding to the test stage identification;
creating a production branch according to the primary application configuration object and the secondary application configuration object corresponding to the production stage identification; and
and creating disaster recovery branches according to the primary application configuration object and the secondary application configuration object corresponding to the disaster recovery stage identification.
7. An application publishing method, comprising:
responding to the received application release request, and acquiring an application object to be released from an application configuration library by utilizing a version control branch corresponding to an application identifier to be released and a stage identifier to be released in the application release request;
processing the application object to be issued to obtain a processed application object; and
according to the processed application object, issuing a target application corresponding to the application identifier to be issued;
wherein the application configuration library is created by the method of claims 1-6.
8. The method of claim 7, wherein the application configuration library stores P version control branches corresponding to M application identifications each;
The responding to the receiving of the application release request, the obtaining of the application object to be released from the application configuration library by utilizing the version control branch corresponding to the application identifier to be released and the stage identifier to be released in the application release request comprises the following steps:
in response to receiving the application release request, respectively matching the application identifier to be released and the M application identifiers to obtain a target application identifier;
respectively matching the to-be-issued stage identifier with P version control branches corresponding to the target application identifier to obtain target version control branches; and
and acquiring the application object to be distributed from the application configuration library by utilizing the target version control branch.
9. The method of claim 7, wherein the application object to be published comprises a primary application configuration object and a secondary application configuration object, the secondary application configuration object comprising at least one of load configuration information, operation and maintenance configuration information, resource configuration information;
the processing the application object to be issued to obtain a processed application object comprises at least one of the following modes:
according to the provider identification in the load configuration information, processing the application object to be issued by using an application programming interface corresponding to the provider identification to obtain the processed application object;
According to the operation and maintenance strategy identification in the operation and maintenance configuration information, the operation and maintenance strategy corresponding to the operation and maintenance strategy identification is utilized to process the application object to be distributed, and the processed application object is obtained; and
and processing the application object to be distributed by utilizing a resource deployment script corresponding to the basic resource identifier according to the basic resource identifier in the resource configuration information to obtain the processed application object.
10. The method of any of claims 7 to 9, wherein the version control branch comprises at least one of a development branch for controlling application sub-objects of a development phase, a test branch for controlling application sub-objects of a test phase, a production branch for controlling application sub-objects of a production phase, and a disaster recovery branch for controlling application sub-objects of a disaster recovery phase.
11. The method of claim 10, wherein the application publication request further includes publication address information;
and according to the processed application object, issuing the target application corresponding to the application identifier to be issued comprises the following steps:
In response to detecting that the development branch has completed development operations for application sub-objects of the development phase, initiating a first merge request;
merging the development branch to the test branch according to the first merging request;
in response to detecting that the test branch has completed a test operation for an application sub-object of the test phase, initiating a second merge request;
merging the test branch to the production branch according to the second merging request; and
and compiling the processed application object according to the release address information to obtain the target application.
12. An application configuration library creation apparatus, comprising:
the first acquisition module is used for responding to the received application configuration request and acquiring application objects corresponding to M application identifiers indicated by the application configuration request, wherein the application objects comprise P application sub-objects corresponding to P stage identifiers;
the creating module is used for creating version control branches corresponding to the P stage identifiers of the M application identifiers in the application configuration library;
the determining module is used for determining the target application identifiers, the target stage identifiers and the changed target application sub-objects corresponding to the Q target application sub-objects respectively in response to detecting that the Q target application sub-objects in the P application sub-objects corresponding to the M application identifiers respectively are changed; and
The modification module is used for responding to the modified target application sub-object to pass verification, modifying the target application sub-object according to the modified target application sub-object by utilizing the version control branch corresponding to the target application identifier and the target stage identifier, and obtaining a modified application configuration library;
wherein P, Q and M are positive integers, and Q is less than or equal to P.
13. An application publishing device comprising:
the second acquisition module is used for responding to the received application release request and acquiring an application object to be released from an application configuration library by utilizing a version control branch corresponding to an application identifier to be released and a stage identifier to be released in the application release request;
the processing module is used for processing the application object to be issued to obtain a processed application object; and
the release module is used for releasing the target application corresponding to the application identifier to be released according to the processed application object;
wherein the application configuration library is created using the apparatus of claim 11.
14. An electronic device, comprising:
one or more processors;
a memory for storing one or more instructions,
Wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1 to 6 or any of claims 7 to 11.
15. A computer readable storage medium having stored thereon executable instructions which when executed by a processor cause the processor to implement the method of any of claims 1 to 6 or any of claims 7 to 11.
16. A computer program product comprising computer executable instructions for implementing the method of any one of claims 1 to 6 or any one of claims 7 to 11 when executed.
CN202311133481.9A 2023-09-04 2023-09-04 Application configuration library creation method, application release method and device and electronic equipment Pending CN117149259A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311133481.9A CN117149259A (en) 2023-09-04 2023-09-04 Application configuration library creation method, application release method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311133481.9A CN117149259A (en) 2023-09-04 2023-09-04 Application configuration library creation method, application release method and device and electronic equipment

Publications (1)

Publication Number Publication Date
CN117149259A true CN117149259A (en) 2023-12-01

Family

ID=88911565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311133481.9A Pending CN117149259A (en) 2023-09-04 2023-09-04 Application configuration library creation method, application release method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN117149259A (en)

Similar Documents

Publication Publication Date Title
US11561784B2 (en) Versioning of pipeline templates for continuous delivery of services on datacenters configured in cloud platforms
US10620933B2 (en) Techniques for efficient application configuration patching
US20230244465A1 (en) Systems and methods for automated retrofitting of customized code objects
JP5982366B2 (en) Systems and methods for private cloud computing
US10089103B2 (en) Systems and methods for transformation of reporting schema
US11487546B2 (en) Change management of services deployed on datacenters configured in cloud platforms
US20230305813A1 (en) Continuous integration and development of code in a secure environment
CN113434158B (en) Custom management method, device, equipment and medium for big data component
US8996447B2 (en) Decision service manager
US20170060969A1 (en) Automating extract, transform, and load job testing
US11392366B1 (en) Optimized compilation of pipelines for continuous delivery of services on datacenters configured in cloud platforms
US11388231B1 (en) Multi-substrate fault tolerant continuous delivery of datacenter builds on cloud computing platforms
US11321226B2 (en) Joint validation across code repositories
US20230035486A1 (en) Managing execution of continuous delivery pipelines for a cloud platform based data center
US20200097260A1 (en) Software application developer tools platform
US11740995B2 (en) Source quality check service
US12159128B2 (en) Orchestration of datacenter creation on a cloud platform
CN118535188A (en) Platform automation deployment updating method, device, equipment and medium
US12259851B2 (en) Testing templates used for implementing infrastructure as code
US20240256297A1 (en) Orchestration of datacenter destruction on a cloud platform
CN117149259A (en) Application configuration library creation method, application release method and device and electronic equipment
CN114327588B (en) A code submission log processing method and device
Saavedra et al. InfraFix: Technology-Agnostic Repair of Infrastructure as Code
US20240329983A1 (en) Development environment integrated with infrastructure cost estimation system
Zhang et al. Intelligent Grid Operation and Maintenance Management and Command Platform Based on Computer Distributed Network

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