Application deployment methods, devices, electronic equipment, and readable storage media
By receiving user configuration parameters to generate application parameter packages, the problem of high barriers to deploying cloud-native applications on Kubernetes is solved, enabling convenient deployment of cloud-native applications that are suitable for devices such as smartphones, tablets, and laptops.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-29
- Publication Date
- 2026-03-13
AI Technical Summary
Deploying cloud-native applications on Kubernetes (K8s) presents a high technical barrier, requiring users to manually write complex Chart packages, making it difficult for ordinary users to use.
By receiving the user's application configuration parameters, generating code and configuration repositories, rendering application parameter packages using a pre-set application model, and deploying the application on the cloud platform, the need for users to write application parameter packages is reduced.
It significantly lowers the technical barrier to deploying applications on cloud platforms, provides a convenient way to deploy cloud-native applications, is suitable for both non-professional and professional users, and improves deployment efficiency and customization.
Smart Images

Figure CN115237436B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to internet technologies, particularly cloud-native applications and application deployment. Background Technology
[0002] Deploying applications on a cloud platform using the Kubernetes (K8s) system is a common method for implementing cloud-native applications.
[0003] Currently, when deploying cloud-native applications on Kubernetes, the Helm tool can be used to import application deployment parameters from chart data packages and then deploy the application on Kubernetes. Summary of the Invention
[0004] This disclosure provides an application deployment method, apparatus, electronic device, and readable storage medium that can lower the technical threshold for deploying applications on Kubernetes using Charts and provide a more convenient way to deploy cloud-native applications.
[0005] According to a first aspect of this disclosure, an application deployment method is provided, comprising: receiving application configuration parameters from a user, the application configuration parameters describing an application to be deployed; generating at least one code repository and a configuration repository based on the application configuration parameters; rendering an application parameter package of the application to be deployed based on the at least one code repository and the configuration repository using a pre-set application model; and deploying the application to be deployed on a cloud platform based on the application parameter package.
[0006] According to a second aspect of this disclosure, an application deployment apparatus is provided, comprising: a receiving module for receiving application configuration parameters from a user, the application configuration parameters describing an application to be deployed; a generating module for generating at least one code repository and a configuration repository based on the application configuration parameters; a rendering module for rendering an application parameter package of the application to be deployed based on the at least one code repository and the configuration repository using a pre-set application model; and a deployment module for deploying the application to be deployed on a cloud platform based on the application parameter package.
[0007] According to a third aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method provided in the first aspect.
[0008] According to a fourth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing a computer to perform the method provided according to the first aspect.
[0009] According to a fifth aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the method provided according to the first aspect.
[0010] This disclosure receives application configuration parameters from the user and, based on these parameters, a pre-defined code repository, and a configuration repository, renders an application parameter package for the application to be deployed using a pre-set application model. Finally, the application is deployed on a cloud platform based on the application parameter package. Since users only need to provide configuration parameters to generate the application parameter package and deploy the application on the cloud platform, eliminating the need for users to directly write the application parameter package, this significantly lowers the barrier to entry for deploying applications on the cloud platform and provides a more convenient way to deploy cloud-native applications.
[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0012] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0013] Figure 1 A flowchart illustrating an application deployment method provided in an embodiment of this disclosure;
[0014] Figure 2 A flowchart illustrating step S130 of an application deployment method provided in this embodiment of the present disclosure;
[0015] Figure 3 A flowchart illustrating step S110 of an application deployment method provided in this embodiment of the present disclosure;
[0016] Figure 4 A flowchart illustrating another application deployment method provided in this embodiment of the disclosure;
[0017] Figure 5 This is a schematic diagram of the composition of an application deployment device provided in an embodiment of the present disclosure;
[0018] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation
[0019] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0020] Deploying applications on a cloud platform using the Kubernetes (K8s) system is a common method for implementing cloud-native applications. Currently, when deploying cloud-native applications on K8s, the Helm tool can be used to import deployment parameters from the Chart package to achieve application deployment on K8s.
[0021] However, because writing Chart packages is quite complex and requires a lot of effort to learn how to write them, the technical threshold for deploying applications on Kubernetes using Charts is high, and most people cannot master and use them.
[0022] To address this, this application provides an application deployment method, comprising: receiving application configuration parameters from a user, the application configuration parameters describing the application to be deployed; generating at least one code repository and a configuration repository based on the application configuration parameters; rendering an application parameter package of the application to be deployed based on the at least one code repository and the configuration repository using a pre-set application model; and deploying the application to be deployed on a cloud platform based on the application parameter package.
[0023] Since users only need to provide configuration parameters, the application parameter package can be generated based on the configuration parameters and the application can be deployed on the cloud platform. Users do not need to write the application parameter package directly, which greatly reduces the threshold for deploying applications on the cloud platform and provides a more convenient way to deploy cloud-native applications.
[0024] Figure 1 This is a flowchart illustrating an application deployment method provided in an embodiment of this disclosure. The method can be applied to electronic devices, such as smartphones, tablets, laptops, desktop computers, or customized terminals. The operating systems of these devices can be Android, Windows, iOS, Mac OS, Harmony OS, Linux, etc., and this disclosure does not impose any limitations on these systems.
[0025] In this application, the application parameter package of the application to be deployed is used as a chart template as an example to illustrate the application deployment method. Figure 1 As shown, the application deployment methods include:
[0026] S110, Receive application configuration parameters from the user.
[0027] The application configuration parameters describe the application to be deployed.
[0028] In some implementations, application configuration parameters may include user-inputted codes, values of configuration application parameter packages, etc. Application configuration parameters can be used to describe information such as the chart corresponding to the application to be deployed, hardware configuration information, software configuration information, network configuration information, monitoring configuration information, plugin configuration information, configuration file mounting information, and additional modification information.
[0029] The information for the Chart corresponding to the application to be deployed can include the application's workload type, such as stateless workload (Deployment) or stateful workload (StatefulSet), and may also include the version of the material used to generate the Chart template. Hardware configuration information specifies hardware resource requirements, such as the number of CPU cores and whether a Graphics Processing Unit (GPU) is needed. Software configuration information can include the configuration of the system environment for the application to be deployed, such as system environment variables, startup commands, and readiness probes. Network configuration information includes the network environment configuration for the application to be deployed, such as whether external network access / receivable capability is required, whether open ports are needed, whether routing control is needed, whether host aliases are needed, and whether firewall restrictions are needed. Monitoring configuration information includes descriptions of the monitoring information to be used and the log collection information required. Plugin configuration information can include plugins required for the application to run, such as databases (e.g., MySQL, MariaDB) that need to start with the service, and remote dictionary services (e.g., Redis) that need to start with the service. The configuration file mounting information can include the configuration file to be mounted. This configuration file can be stored in Git, an open-source distributed version control system. When a configuration file needs to be mounted or a corresponding trigger operation exists, the configuration file can be pulled from Git and mounted. Extension information is used to intervene in the content of the generated chart, allowing for additional modifications to the final generated chart.
[0030] It should be noted that the information described by the application configuration parameters is not limited to the examples above, and more descriptive information can be added. This disclosure does not impose any restrictions on this.
[0031] Application configuration parameters can be described using a Yet Another Markup Language (YAML) file, which can also be stored in Git, without being limited to a specific format. For example, other unlisted configurations can be written in the YAML file, and these unlisted configurations can be used as values in the generated Chart template.
[0032] S120. Generate at least one code repository and one configuration repository based on the application configuration parameters.
[0033] In some implementations, code repositories and configuration repositories are also stored in Git, and the code and configuration repositories can be combined into a single meta file.
[0034] The code repository can be generated based on the code recorded in the application configuration parameters. Multiple code repositories can exist, and each repository can store code from the user, user-generated makefiles, or build scripts (build.sh). It may also contain a YAML file (ci.yaml) describing custom build information and build parameters for various build scenarios. Finally, it may include one or more Dockerfiles for building Docker images.
[0035] A configuration repository can be generated based on the configuration parameters in the application configuration parameters. The configuration repository can include application information files, service configuration files, or extension files. The application information file, which may be platform-generated, defines the application's characteristics, such as the load type the application needs to use (e.g., stateful application, stateless application, in-place stateful application, in-place stateless application, middleware from the application marketplace, static files without load types, etc.), required components, required network resources, and required hardware resources. The service configuration file records the configuration files required by the application. The extension file, similar to the extension information in the application configuration parameters, is used to modify fragments of the final generated Chart template.
[0036] It should be noted that the aforementioned platform can be a Kubernetes Platform as a Service (PaaS) platform, but is not limited to this.
[0037] S130. Using a pre-set application model, the application parameter package of the application to be deployed is rendered based on at least one code repository and configuration repository.
[0038] In some implementations, the user's code stored in the code repository can be compiled first to obtain binary code or a packaged tarball. Then, a Docker image is built based on the parameters in the code repository. Finally, the application parameter package of the application to be deployed is obtained by rendering the configuration content in the configuration repository and the Docker image.
[0039] S140. Deploy the application to be deployed on the cloud platform according to the application parameter package.
[0040] In some implementations, the application parameter package is a Chart template. This Chart template can be deployed to the Kubernetes cluster using Helm according to the deployment strategy.
[0041] In this embodiment, since users only need to provide configuration parameters, the application parameter package can be generated based on the configuration parameters and the application can be deployed on the cloud platform. Users do not need to write the application parameter package directly, which greatly reduces the threshold for deploying applications on the cloud platform and provides a more convenient way to deploy cloud-native applications.
[0042] Figure 2 This is a flowchart illustrating step S130 of an application deployment method provided in an embodiment of this disclosure.
[0043] In some implementations, reference is made to Figure 2 The application parameter package of the application to be deployed is rendered based on a pre-set application model and at least one code repository and configuration repository, including:
[0044] S210. Generate a container image based on at least one code repository.
[0045] In some implementations, a Docker image can be built based on a user-provided Dockerfile. Alternatively, if a user-provided Dockerfile does not exist in the code repository, a basic Dockerfile can be automatically generated based on a preset programming language to build the Docker image.
[0046] S220. Based on the container image and configuration repository, obtain at least one application parameter package build material.
[0047] In some implementations, the build materials of the application parameter package are the same as the build materials of the Chart template, referring to a set of fragments of Helm / Chart templates from various resources. The Chart template fragments are written according to preset rules. Helm / Chart annotations are used as anchor points. During rendering, the acquired build materials can be used to generate the final Chart template.
[0048] S230. Perform pre-rendering based on the container image and build materials to obtain a pre-rendered application parameter package.
[0049] In some implementations, if the pre-rendered chart template requires no modification (i.e., there is no user-provided extension file), the chart template can be used directly after packaging. If the chart template needs modification, then S240 can be executed.
[0050] S240, Obtain the additional modified files corresponding to the pre-rendered application parameter package.
[0051] In some implementations, when it is confirmed that a user-provided extension file exists in the configuration repository, the extension file corresponding to the pre-rendered Chart template is obtained.
[0052] Alternatively, in some implementations, additional modification parameters from the user can be received via a visual interface. Additional modification files are then generated based on these parameters.
[0053] In this embodiment, based on the visual interface, additional modification parameters from the user are received and an extension file is generated, which allows for more flexible modification of the chart template and improves the customization of the chart template.
[0054] S250: Merge the additional modified files and the pre-rendered application parameter package to obtain the application parameter package of the application to be deployed.
[0055] In some implementations, the corresponding parameters can be located in the pre-rendered application parameter package based on the additional modification file. The corresponding parameters in the pre-rendered application parameter package are then modified according to the values in the additional modification file. The modified pre-rendered application parameter package is then packaged to obtain the application parameter package for the application to be deployed.
[0056] For example, if the value of A is 1 in the Chart template and the value of A is 2 in the extension file, then you can iterate through the Chart template according to the extension file, find the parameter named A, and change its parameter value to 2.
[0057] In this embodiment, when modifications to the Chart template are needed, the generated Chart template is modified and updated through an extension file, further lowering the barrier to entry for using Charts.
[0058] In this embodiment, when rendering a chart template based on at least one code repository and a configuration repository, parameters can be located and modified in the pre-rendered chart template according to the extension file. The modified pre-rendered chart template is then packaged to obtain the chart template for the application to be deployed. This eliminates the need for users to rewrite the chart template, further enhancing its customization capabilities and lowering the barrier to entry for using charts.
[0059] Figure 3 This is a flowchart illustrating step S110 of an application deployment method provided in an embodiment of this disclosure.
[0060] In some implementations, application configuration parameters are received from the user, including:
[0061] The S310, based on a visual interface, receives standard configuration parameters and custom configuration parameters from the user.
[0062] In some implementations, the visual interface may include input interfaces for multiple standard configuration parameters. The standard configuration parameters can be obtained simply by receiving the parameters input by the user through the input interfaces.
[0063] In some implementations, the visual interface may also include a custom configuration parameter input interface or a custom configuration parameter upload interface. Custom configurations can be written in a computer language, and no limitation is placed on the computer language used here. The user-edited custom configurations can be received through the custom configuration parameter input interface, or a document containing the user-edited custom configurations can be received through the custom configuration parameter upload interface.
[0064] S320 generates application configuration parameters based on standard configuration parameters and custom configuration parameters.
[0065] In some implementations, the received standard configuration parameters and custom configuration parameters can be packaged together to obtain application configuration parameters.
[0066] In this embodiment, standard and custom configuration parameters from the user are received via a visual interface to generate application configuration parameters. These application configuration parameters can be highly customized according to user needs, eliminating the need to write the entire chart template. This effectively increases the customizability of the chart template and lowers the barrier to entry for using charts.
[0067] Figure 4 This is a flowchart illustrating another application deployment method provided in an embodiment of this disclosure.
[0068] In some implementations, reference is made to Figure 4 , Figure 4The document provides a complete implementation process for application deployment, including the preparation and rendering phases.
[0069] The preparation phase involves configuring the application model. For example, it requires confirming the new application, obtaining application configuration parameters from the user, and compiling the extension information written by the user. After receiving this data, the application configuration parameters are converted into meta files, and the extension information is compiled into extension files. The meta files include at least one code repository and one configuration repository. Then, the meta files and extension files are stored in Git. It should be noted that Git is merely an example and not a limitation; other similar storage spaces can also be used, and this disclosure makes no restrictions on this.
[0070] The rendering stage is the stage where the chart template is generated. (See reference...) Figure 4 It can read both meta files and extension files from Git simultaneously. For meta files, it first verifies their integrity and validity, then reads user-defined fields and merges meta files from different levels. Next, it reads system-defined fields and, based on the configuration in the meta files, downloads the build materials for the corresponding version of the Chart template.
[0071] For system-defined fields, the system's meta file can be directly rendered to obtain the system's YAML file (e.g., values.yaml). For the build materials of the downloaded chart template, they can first be trimmed according to the system-defined fields to remove parts irrelevant to the current application, generating a pre-rendered chart template. Then, the pre-rendered chart template is merged with the extension file to obtain the modified pre-rendered chart template.
[0072] Finally, the system's YAML files and the modified pre-rendered Chart template are packaged together to generate the final Chart template. The Chart template can be stored in a pre-defined Chart repository or sent directly to the platform for application deployment.
[0073] The application deployment methods provided in this disclosure allow non-professional Kubernetes users to quickly generate or modify Helm / Chart packages with a low barrier to entry, enabling the deployment of cloud-native applications on Kubernetes. Professional Kubernetes users can generate Helm / Chart packages using the build materials of Chart templates to achieve their required functionality. The platform can synchronously modify the Helm / Chart packages generated by different customers by modifying the build materials of Chart templates, without notifying users to make their own modifications. This effectively improves the consistency of Chart template versions on the platform and reduces the probability of problems caused by version differences.
[0074] The chart template generated by the application deployment method provided in this disclosure is a general K8s template that can run on other K8s platforms, making it convenient for users to deploy privately or migrate already deployed applications.
[0075] The application deployment method provided in this disclosure is based on the application model and can be implemented without the need to install a separate controller component, thus reducing the requirements for the application environment and expanding the application scenarios.
[0076] In an exemplary embodiment, this disclosure also provides an application deployment apparatus, which can be used to implement the application deployment method provided in the foregoing embodiments.
[0077] Figure 5 This is a schematic diagram of the composition of an application deployment device provided in an embodiment of the present disclosure.
[0078] like Figure 5 As shown, the device may include:
[0079] The receiving module 51 is used to receive application configuration parameters from the user, which describe the application to be deployed.
[0080] The generation module 52 is used to generate at least one code repository and one configuration repository based on application configuration parameters.
[0081] Rendering module 53 is used to render the application parameter package of the application to be deployed based on at least one code repository and configuration repository using a pre-set application model.
[0082] Deployment module 54 is used to deploy the application to be deployed on the cloud platform according to the application parameter package.
[0083] In some implementations, rendering module 53 is used to generate a container image based on at least one code repository. Based on the container image and configuration repository, at least one application parameter package build material is obtained. Pre-rendering is performed based on the container image and build material to obtain a pre-rendered application parameter package. Additional modification files corresponding to the pre-rendered application parameter package are obtained. The additional modification files and the pre-rendered application parameter package are merged to obtain the application parameter package for the application to be deployed.
[0084] In some implementations, an acquisition module 55 is also included, which receives additional modification parameters from the user based on a visual interface, and generates additional modification files based on the additional modification parameters.
[0085] In some implementations, the rendering module 53 is specifically used to locate the corresponding parameters in the pre-rendered application parameter package based on the additional modification file. The corresponding parameters in the pre-rendered application parameter package are modified according to the values in the additional modification file. The modified pre-rendered application parameter package is then packaged to obtain the application parameter package for the application to be deployed.
[0086] In some implementations, the receiving module 51 is specifically used to receive standard configuration parameters and custom configuration parameters from the user based on a visual interface. Application configuration parameters are then generated based on the standard configuration parameters and custom configuration parameters.
[0087] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0088] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0089] An electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the methods provided in the above embodiments.
[0090] In an exemplary embodiment, the readable storage medium may be a non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform the method provided in the above embodiments.
[0091] In an exemplary embodiment, the computer program product includes a computer program that, when executed by a processor, implements the method provided in the above embodiments.
[0092] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure is shown.
[0093] Electronic devices are intended to represent various forms of digital computers, such as in-vehicle computers, laptop computers, tablets, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0094] like Figure 6 As shown, device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 602 or a computer program loaded from storage unit 608 into random access memory (RAM) 603. RAM 603 may also store various programs and data required for the operation of device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.
[0095] Multiple components in device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of monitors, speakers, etc.; storage unit 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0096] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as page rendering methods. For example, in some embodiments, the page rendering method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 605. In some embodiments, part or all of the computer program may be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the page rendering method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform application deployment methods by any other suitable means (e.g., by means of firmware).
[0097] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0098] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0099] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0100] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0101] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0102] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0103] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0104] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. An application deployment method characterized by comprising: The method comprises: receiving application configuration parameters from a user, the application configuration parameters being used to describe an application to be deployed; generating at least one code repository and a configuration repository according to the application configuration parameters; constructing a container image according to a user-provided container file in at least one of the code repositories; if there is no user-provided container file in the code repository, automatically generating a basic container file according to a preset development language to construct a container image; using annotations of a rudder or a chart of the application to be deployed as anchor points, obtaining construction materials of at least one application parameter package according to the container image and the configuration repository; the construction materials of the application parameter package are construction materials of a chart template, and are a group of segments of a rudder or a chart template of various resources; performing pre-rendering according to the container image and the construction materials to obtain a pre-rendered application parameter package; obtaining an additional modification file corresponding to the pre-rendered application parameter package; locating a corresponding parameter in the pre-rendered application parameter package according to the additional modification file, modifying the corresponding parameter in the pre-rendered application parameter package according to a value of the parameter in the additional modification file, and packaging the modified pre-rendered application parameter package to obtain an application parameter package of the application to be deployed; deploying the application to be deployed on a cloud platform according to the application parameter package.
2. The method of claim 1, wherein, The obtaining of the additional modification file corresponding to the pre-rendered application parameter package comprises: receiving additional modification parameters from a user based on a visual interface; generating the additional modification file according to the additional modification parameters.
3. The method of claim 1, wherein, The receiving of the application configuration parameters from the user comprises: receiving standard configuration parameters and custom configuration parameters from a user based on a visual interface; generating the application configuration parameters according to the standard configuration parameters and the custom configuration parameters.
4. An application deployment apparatus characterized by comprising: The apparatus comprises: a receiving module configured to receive application configuration parameters from a user, the application configuration parameters being used to describe an application to be deployed; a generating module configured to generate at least one code repository and a configuration repository according to the application configuration parameters; The rendering module is configured to construct a container image according to a user-provided container file in at least one of the code repositories; if the user-provided container file does not exist in the code repository, automatically generate a basic container file according to a preset development language to construct a container image; use annotations of a rudder or a chart of the to-be-deployed application as anchor points to obtain construction materials of at least one application parameter package according to the container image and the configuration repository; the construction materials of the application parameter package are construction materials of a chart template, and are a group of segments of a rudder or a chart template of various resources; perform pre-rendering according to the container image and the construction materials to obtain a pre-rendered application parameter package; obtain an additional modification file corresponding to the pre-rendered application parameter package; locate a corresponding parameter in the pre-rendered application parameter package according to the additional modification file; modify the corresponding parameter in the pre-rendered application parameter package according to a value of the parameter in the additional modification file; and package the modified pre-rendered application parameter package to obtain an application parameter package of the to-be-deployed application. The deployment module is configured to deploy the to-be-deployed application on a cloud platform according to the application parameter package.
5. The apparatus of claim 4, wherein, The application further includes an obtaining module configured to receive an additional modification parameter from a user based on a visual interface. The additional modification file is generated according to the additional modification parameter.
6. The apparatus of claim 4, wherein, The receiving module is specifically configured to receive a standard configuration parameter and a custom configuration parameter from a user based on a visual interface. The application configuration parameter is generated according to the standard configuration parameter and the custom configuration parameter.
7. An electronic device, comprising: The application includes: at least one processor; and a memory connected in communication with the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-3.
8. A non-transitory computer-readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable a computer to perform the method of any one of claims 1-3.
9. A computer program product, characterised in that, The application includes a computer program, which, when executed by a processor, implements the method of any one of claims 1-3.