Container-based development environment deployment method and device

Through containerization technology and simplified deployment process, users can create a development environment directly through the browser, solving the problems of cumbersome review and complex adaptation, and improving development efficiency and security.

CN119316290AActive Publication Date: 2025-01-14INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202410759664.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-13
Publication Date
2025-01-14
Estimated Expiration
2044-06-13

AI Technical Summary

Technical Problem

During the development environment deployment process, the cumbersome audit process and the complexity of operating environment adaptation during the containerized deployment process lead to inefficient development and extending the project cycle.

Method used

Provide a container-based development environment deployment method. Users directly initiate creation requests through the browser, parse requests to determine startup parameters, create development environments in the container management cluster, and send login information through mail, simplify the process, and combine the email and Login password information is passed as a startup parameter for enhanced security.

Benefits of technology

The process of obtaining available R&D environments is simplified, the R&D efficiency of software projects is improved, and the complexity and time cost of operational environment adaptation is reduced through pre-configured mirror files and containerization technologies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316290A_ABST
    Figure CN119316290A_ABST
Patent Text Reader

Abstract

The invention provides a container-based development environment deployment method, relates to the technical field of cloud computing, and can be applied to the technical field of finance. The method comprises the steps that in response to a development environment creating request initiated by a user, the development environment creating request is analyzed to determine starting parameters, and the development environment creating request is initiated by the user on a network application program through a browser; creating a development environment in a container management cluster in a container form according to the starting parameters; receiving and analyzing information returned by the container management cluster to determine development environment login information; and sending the development environment login information to a user in the form of a mail. The invention further provides a container-based development environment deployment device and equipment, a storage medium and a program product.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of cloud computing technology, specifically to the field of container technology, and more specifically to a container-based development environment deployment method, device, equipment, storage medium, and program product. Background Art

[0002] In the development environment deployment scenario, the project team needs to submit an application to obtain an available R&D environment when deploying the development environment. The cumbersome review process greatly reduces development efficiency and prolongs the project cycle. In addition, in the containerized deployment process of existing technologies, the optimized target operating parameters of the development environment need to be retained in the image file, which increases the complexity of the operating environment adaptation work.

[0003] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0004] In view of the above problems, the present disclosure provides a container-based development environment deployment method, apparatus, device, storage medium and program product that can achieve rapid deployment.

[0005] According to a first aspect of the present disclosure, a container-based development environment deployment method is provided, the method comprising: In response to a development environment creation request initiated by a user, parsing the development environment creation request to determine a startup parameter, wherein the development environment creation request is initiated by the user on a network application through a browser;

[0006] Creating a development environment in the form of a container in the container management cluster according to the startup parameters;

[0007] Receiving and parsing information returned by the container management cluster to determine development environment login information; and

[0008] The development environment login information is sent to the user in the form of an email.

[0009] According to an embodiment of the present disclosure, the startup parameters include an email address and login password information, and creating a development environment in the form of a container in a container management cluster according to the startup parameters includes:

[0010] Submitting a creation request to a container management cluster for deploying a development environment by using the email address and the login password information as development environment startup parameters;

[0011] Parsing the creation request to pull the image file; and

[0012] A container is created according to the image file and the development environment startup parameters.

[0013] According to an embodiment of the present disclosure, parsing the creation request to pull the image file includes:

[0014] Parsing the creation request to determine configuration information of the development environment and development environment startup parameters; and

[0015] Pull the pre-configured image file of the development environment from the image repository according to the configuration information of the development environment.

[0016] According to an embodiment of the present disclosure, creating a container according to the image file and the development environment startup parameters includes:

[0017] Configure the container according to the configuration information of the development environment, wherein the configuration information includes the container name, network settings, storage volume mounts, and resource limits;

[0018] Setting the development environment startup parameters into the environment variables of the container; and

[0019] Start the newly created container to run the development environment requested by the user.

[0020] According to an embodiment of the present disclosure, starting the newly created container to run the development environment requested by the user includes:

[0021] Execute the startup command to start the tools in the development environment; and

[0022] Run the application in the development environment.

[0023] According to an embodiment of the present disclosure, parsing the development environment creation request to determine the startup parameters includes:

[0024] Parse the request initiated by the user to extract the email address and login password information submitted by the user; and

[0025] Construct startup parameters using the email address and login password information submitted by the user in the form of key-value pairs.

[0026] A second aspect of the present disclosure provides a container-based development environment deployment device, the device comprising:

[0027] A parsing module, for responding to a development environment creation request initiated by a user, parsing the development environment creation request to determine a startup parameter, wherein the development environment creation request is initiated by the user on a network application through a browser;

[0028] A creation module, used to create a development environment in the form of a container in the container management cluster according to the startup parameters;

[0029] a determination module, configured to receive and parse information returned by the container management cluster to determine development environment login information; and

[0030] The sending module is used to send the development environment login information to the user in the form of an email.

[0031] According to an embodiment of the present disclosure, the creation module includes: a submission submodule, a first parsing submodule and a creation submodule.

[0032] A submission submodule, used to submit a creation request to a container management cluster used to deploy a development environment by using the email address and the login password information as development environment startup parameters;

[0033] A first parsing submodule, configured to parse the creation request to pull the image file; and

[0034] A submodule is created, which is used to create a container according to the image file and the development environment startup parameters.

[0035] According to an embodiment of the present disclosure, the parsing submodule includes a parsing unit and an image file obtaining unit.

[0036] A parsing unit, configured to parse the creation request to determine configuration information of the development environment and startup parameters of the development environment; and

[0037] The image file acquisition unit is used to pull the image file of the pre-configured development environment from the image warehouse according to the configuration information of the development environment.

[0038] According to an embodiment of the present disclosure, creating a submodule includes a container configuration unit, an environment variable setting unit, and a startup unit.

[0039] A container configuration unit, used to configure the container according to the configuration information of the development environment, wherein the configuration information includes the container name, network settings, storage volume mounting, and resource restrictions;

[0040] An environment variable setting unit, used to set the development environment startup parameters into the environment variables of the container; and

[0041] The launch unit is used to start the newly created container to run the development environment requested by the user.

[0042] According to an embodiment of the present disclosure, the startup unit is further configured to execute a startup command to start a tool in the development environment; and to run an application in the development environment.

[0043] According to an embodiment of the present disclosure, the parsing module includes a second parsing submodule and a building submodule.

[0044] A second parsing submodule, used to parse the request initiated by the user to extract the email address and login password information submitted by the user; and

[0045] The construction submodule is used to construct startup parameters in the form of key-value pairs using the email address and login password information submitted by the user.

[0046] A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors execute the above-mentioned container-based development environment deployment method.

[0047] A fourth aspect of the present disclosure further provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to execute the above-mentioned container-based development environment deployment method.

[0048] A fifth aspect of the present disclosure further provides a computer program product, including a computer program, which implements the above-mentioned container-based development environment deployment method when executed by a processor.

[0049] A container-based development environment deployment method provided by an embodiment of the present disclosure responds to a development environment creation request initiated by a user, parses the development environment creation request to determine startup parameters, the development environment creation request is initiated by the user through a browser on a network application; creates a development environment in the form of a container in a container management cluster according to the startup parameters; receives and parses the information returned by the container management cluster to determine the development environment login information; and sends the development environment login information to the user in the form of an email. Compared with related technologies, users can directly request to create a development environment through a browser without submitting an application, which simplifies the process of obtaining an available development environment and improves the efficiency of software project development; in addition, the email address and login password information submitted by the user are passed to the container management cluster as development environment startup parameters, which enhances the security of the development environment. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] The above contents and other purposes, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0051] Figure 1 The application scenario diagram of the container-based development environment deployment method, apparatus, device, storage medium and program product according to an embodiment of the present disclosure is schematically shown;

[0052] Figure 2 A flowchart of a container-based development environment deployment method provided according to an embodiment of the present disclosure is schematically shown;

[0053] Figure 3 A flowchart of a container-based development environment deployment method provided according to another embodiment of the present disclosure is schematically shown;

[0054] Figure 4 A flowchart of a container-based development environment deployment method provided according to another embodiment of the present disclosure is schematically shown;

[0055] Figure 5 A flowchart schematically shows a method for obtaining an image file according to an embodiment of the present disclosure;

[0056] Figure 6 A flowchart of creating a container according to the image file and the development environment startup parameters provided according to an embodiment of the present disclosure is schematically shown;

[0057] Figure 7 A structural block diagram schematically shows a container-based development environment deployment device according to an embodiment of the present disclosure; and

[0058] Figure 8 A block diagram of an electronic device suitable for implementing a container-based development environment deployment method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0059] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0060] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0061] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0062] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0063] First, the terms that appear in the embodiments of the present disclosure are explained:

[0064] Dev environment: Development environment refers to a dedicated working environment provided for software developers to write, test and debug code.

[0065] Containerization: It is a lightweight virtualization technology that packages applications and their dependencies together into a standardized unit to achieve fast, consistent, and reliable deployment of applications.

[0066] Kubernetes: is an open source container orchestration platform for automating the deployment, scaling, and management of containerized applications.

[0067] Based on the above technical problems, an embodiment of the present disclosure provides a container-based development environment deployment method, the method comprising: responding to a development environment creation request initiated by a user, parsing the development environment creation request to determine startup parameters, the development environment creation request being initiated by the user through a browser on a network application; creating a development environment in the form of a container in a container management cluster according to the startup parameters; receiving and parsing information returned by the container management cluster to determine development environment login information; and sending the development environment login information to the user in the form of an email.

[0068] Figure 1 The application scenario diagram of the container-based development environment deployment method, apparatus, device, storage medium, and program product according to an embodiment of the present disclosure is schematically shown.

[0069] like Figure 1 As shown, the application scenario 100 according to this embodiment may include a container-based development environment deployment scenario. The network 104 is used to provide a medium for a communication link between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0070] Users can use terminal devices 101, 102, 103 to interact with server 105 through network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only examples).

[0071] The terminal devices 101 , 102 , and 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.

[0072] The server 105 may be a backend server, which may execute the container-based development environment deployment method provided in the embodiment of the present disclosure, and in response to a development environment creation request initiated by a user, parse the development environment creation request to determine startup parameters, wherein the development environment creation request is initiated by the user through a browser on a network application; create a development environment in the form of a container in a container management cluster according to the startup parameters; receive and parse the information returned by the container management cluster to determine the development environment login information; and send the development environment login information to the user in the form of an email.

[0073] It should be noted that the container-based development environment deployment method provided in the embodiment of the present disclosure can generally be executed by the server 105. Accordingly, the container-based development environment deployment device provided in the embodiment of the present disclosure can generally be set in the server 105. The container-based development environment deployment method provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105. Accordingly, the container-based development environment deployment device provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105.

[0074] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.

[0075] It should be noted that the container-based development environment deployment method and device determined in the embodiments of the present disclosure can be used in the field of cloud computing technology, the field of financial technology, and any field other than the financial field. The application field of the container-based development environment deployment method and device determined in the embodiments of the present disclosure is not limited.

[0076] The following will be based on Figure 1The application scenario described by Figure 2~Figure 6 The container-based development environment deployment method of an embodiment of the present disclosure is described in detail.

[0077] Figure 2 The following schematically shows a flow chart of a container-based development environment deployment method provided according to an embodiment of the present disclosure. Figure 2 As shown, the container-based development environment deployment method of this embodiment includes operations S210 to S240, and the method can be executed by a server or other computing devices.

[0078] In operation S210 , in response to a development environment creation request initiated by a user, the development environment creation request is parsed to determine a startup parameter.

[0079] According to an embodiment of the present disclosure, the development environment creation request is initiated by a user on a network application via a browser.

[0080] In one example, in order to simplify the process of obtaining an available development environment and improve the R&D efficiency of software projects, a network application, WEB application, Dev_Create_Services, is pre-written. When a Dev development environment needs to be created, the user requests Dev_Create_Services through a browser; the corresponding configuration is performed through the front-end web page. The user fills in personal information on the page, including the company email address, which is used to receive login information after the Dev environment is successfully created, sets the login password, and clicks Submit.

[0081] In operation S220 , a development environment is created in a container management cluster according to the startup parameters.

[0082] In one example, after receiving a creation request, Dev_Create_Services submits the creation request to the container management cluster used to deploy the Dev environment. When submitting the request, the email address and login password information submitted by the user are passed to the container management cluster as Dev environment startup parameters. The container management cluster creates the Dev environment according to the image file of the Dev environment prepared in advance, and the image file contains various tools required for the Dev environment.

[0083] In operation S230 , the information returned by the container management cluster is received and parsed to determine development environment login information.

[0084] In operation S240, the development environment login information is sent to the user in the form of an email.

[0085] In an example, Dev_Create_Services processes the response returned by the container management cluster. If the creation request is successful, the container management cluster returns a status code and a JSON object containing the information of the newly created Dev environment. Dev_Create_Services parses the JSON object, extracts the Dev environment information, and then sends the information to the user in the form of an email.

[0086] A container-based development environment deployment method provided by an embodiment of the present disclosure responds to a development environment creation request initiated by a user, parses the development environment creation request to determine startup parameters, the development environment creation request is initiated by the user through a browser on a network application; creates a development environment in the form of a container in a container management cluster according to the startup parameters; receives and parses the information returned by the container management cluster to determine the development environment login information; and sends the development environment login information to the user in the form of an email. Compared with related technologies, users can directly request to create a development environment through a browser without submitting an application, which simplifies the process of obtaining an available development environment and improves the efficiency of software project development; in addition, the email address and login password information submitted by the user are passed to the container management cluster as development environment startup parameters, which enhances the security of the development environment.

[0087] Figure 3 The following schematically shows a flow chart of a container-based development environment deployment method provided according to another embodiment of the present disclosure. Figure 3 As shown, operation 210 includes operation S211 and operation S212.

[0088] In operation S211, the request initiated by the user is parsed to extract the email address and login password information submitted by the user; and

[0089] In operation S212, the email address and login password information submitted by the user are used to construct startup parameters in the form of key-value pairs.

[0090] In an example, when Dev_Create_Services receives a creation request, it will perform the following steps: 1. Parse the request: First, Dev_Create_Services will parse the user's request and extract the email and login password information submitted by the user. 2. Construct startup parameters: Then, Dev_Create_Services will construct a startup parameter with the email and login password information submitted by the user. This startup parameter is in the form of a key-value pair, where the key is the parameter name and the value is the information submitted by the user. For example, the email address may be constructed as {"email": "user@example.com"}, and the login password may be constructed as {"password": "user_password"}. 3. Submit a creation request: Dev_Create_Services will submit a creation request to the container management cluster used to deploy the Dev environment. This request is usually an HTTP POST request, the request URL is the API address of the container management cluster, and the request body is a JSON object containing the configuration information and startup parameters of the Dev environment to be created.

[0091] Figure 4 A flowchart of a container-based development environment deployment method provided according to another embodiment of the present disclosure is schematically shown. Figure 5 The flowchart of the method for obtaining the image file provided according to an embodiment of the present disclosure is schematically shown. Figure 6 A flowchart of creating a container according to the image file and the development environment startup parameters provided according to an embodiment of the present disclosure is schematically shown.

[0092] like Figure 4 As shown, operation S220 includes operations S221 to S223.

[0093] In operation S221, the email address and the login password information are used as development environment startup parameters to submit a creation request to a container management cluster for deploying a development environment.

[0094] In operation S222, the creation request is parsed to pull the image file.

[0095] like Figure 5 As shown, operation S222 includes operation S2221 and operation S2222.

[0096] In operation S2221, the creation request is parsed to determine configuration information of the development environment and development environment startup parameters.

[0097] In operation S2222, a pre-configured image file of the development environment is pulled from the image repository according to the configuration information of the development environment.

[0098] In one example, the container management cluster parses the received creation request. This request is a JSON object containing the configuration information and startup parameters of the Dev environment to be created. Among them, the configuration information will contain a field that specifies the location of the Dev environment image, which is usually a URL pointing to the location of the image file in the image repository. Then, the container management cluster will pull the pre-prepared Dev environment image from the specified image repository, and this image contains the various tools required for the Dev environment. Exemplarily, the container management cluster will send an HTTP GET request to the image repository, and the request URL is the location of the image. After receiving the request, the image repository will send the image file to the container management cluster. The image file is a compressed package containing a file system and metadata. The file system contains the various tools required for the Dev environment, and the metadata contains information on how to run these tools. Optionally, after receiving the image file, the container management cluster will save it to the local image cache. In this way, when the same Dev environment needs to be created in the future, the image can be read directly from the local cache without having to pull it from the image repository again.

[0099] In operation S223, a container is created according to the image file and the development environment startup parameters.

[0100] like Figure 6 As shown, operation S223 includes operation S2231 to operation S2233.

[0101] In operation S2231, the container is configured according to the configuration information of the development environment.

[0102] The configuration information includes container name, network settings, storage volume mounts, and resource limits;

[0103] In operation S2232, the development environment startup parameters are set into the environment variables of the container.

[0104] In operation S2233, the newly created container is started to run the development environment requested by the user.

[0105] According to an embodiment of the present disclosure, a startup command is executed to start a tool in a development environment; and an application program in the development environment is run.

[0106] In one example, the container management cluster creates a new container based on the pulled image. During the container creation process, the container management cluster sets the startup parameters in the request to the container's environment variables. This process usually includes the following steps:

[0107] Configure the container: The container management cluster will first configure the new container based on the configuration information in the request. This configuration information includes the container name, network settings, storage volume mounts, resource limits, etc.

[0108] Set environment variables: The container management cluster sets the startup parameters in the request to the environment variables of the container. Environment variables are a way to pass configuration information inside the container, and they can be read and used by applications running in the container. In this example, the startup parameters include the email address and login password information submitted by the user.

[0109] Start the container: Finally, the container management cluster will start the newly created container. After the container is started, it will run the Dev environment in it.

[0110] During the container startup process, the container management cluster will execute the startup command specified in the container image, which usually starts various tools in the Dev environment. After the container is started, it will run in the Dev environment. This process usually includes the following steps:

[0111] Execute the startup command: The container management cluster will execute the startup command specified in the image inside the container. This command usually starts various tools in the Dev environment.

[0112] Run applications: After the startup command is executed, the applications in the Dev environment will run inside the container. These applications can access and use the resources inside the container, such as CPU, memory, storage volume, etc., as well as the startup parameters set in the environment variables.

[0113] In the embodiments of the present disclosure, since the Dev development environment is running in a container, the resource isolation characteristics of the container can be used to ensure that its own operation will not affect the host or other containers. At the same time, the container also provides certain security guarantees, such as preventing malicious code from escaping from the container through namespace isolation, permission control and other means. Container technology can isolate resources at the operating system level. Each container has its own file system, network stack, process space, etc., which means that processes running in a container cannot directly access the resources of other containers or hosts. This isolation makes each container run like it is in its own independent environment, thus providing a lightweight virtualization. The resource isolation characteristics of the container also provide security guarantees. Since the resources between containers are isolated, even if a container is attacked, the attacker cannot directly access the resources of other containers or hosts. In addition, containers can also use various security mechanisms, such as user namespaces, Seccomp, AppArmor, SELinux, etc., to limit the permissions of container processes and prevent malicious code from escaping from containers. Due to the resource isolation and security characteristics of the container, an isolated development environment is created in the container. This means that developers can install and configure the required development tools in their own containers without affecting the environment of other developers. This greatly simplifies the management and maintenance of the development environment.

[0114] Through the embodiments of the present disclosure, users can directly request to create a Dev development environment through a browser without submitting an application, which simplifies the process of obtaining an available development environment and improves the efficiency of software project development. The email address and login password information submitted by the user are passed to the container management cluster as Dev environment startup parameters, which enhances the security of the development environment. The container management cluster creates a Dev environment according to the image of the Dev environment prepared in advance. The image contains the various tools required for the Dev environment, which improves the reproducibility and portability of the development environment, simplifies the operation environment adaptation work, and reduces the time cost and energy spent by performance optimizers on operating environment adaptation.

[0115] Based on the above container-based development environment deployment method, the present disclosure also provides a container-based development environment deployment device. Figure 7 The device is described in detail.

[0116] Figure 7 The following schematically shows a structural block diagram of a container-based development environment deployment device according to an embodiment of the present disclosure. Figure 7 As shown, the container-based development environment deployment device 700 of this embodiment includes a parsing module 710 , a creating module 720 , a determining module 730 and a sending module 740 .

[0117] The parsing module 710 is used to respond to a development environment creation request initiated by a user, and parse the development environment creation request to determine a startup parameter, wherein the development environment creation request is initiated by the user on the network application through a browser. In one embodiment, the parsing module 710 can be used to perform the operation S210 described above, which will not be repeated here.

[0118] The creation module 720 is used to create a development environment in the form of a container in the container management cluster according to the startup parameters. In one embodiment, the creation module 720 can be used to perform the operation S220 described above, which will not be repeated here.

[0119] The determination module 730 is used to receive and parse the information returned by the container management cluster to determine the development environment login information. In one embodiment, the determination module 730 can be used to perform the operation S230 described above, which will not be repeated here.

[0120] The sending module 740 is used to send the development environment login information to the user in the form of an email. In one embodiment, the traffic forwarding module 740 can be used to perform the operation S240 described above, which will not be repeated here.

[0121] According to an embodiment of the present disclosure, the creation module includes: a submission submodule, a first parsing submodule and a creation submodule.

[0122] A submission submodule, used to submit a creation request to a container management cluster used to deploy a development environment by using the email address and the login password information as development environment startup parameters;

[0123] A first parsing submodule, configured to parse the creation request to pull an image file; and

[0124] A submodule is created, which is used to create a container according to the image file and the development environment startup parameters.

[0125] According to an embodiment of the present disclosure, the parsing submodule includes a parsing unit and an image file obtaining unit.

[0126] A parsing unit, configured to parse the creation request to determine configuration information of the development environment and development environment startup parameters; and

[0127] The image file acquisition unit is used to pull the image file of the pre-configured development environment from the image warehouse according to the configuration information of the development environment.

[0128] According to an embodiment of the present disclosure, creating a submodule includes a container configuration unit, an environment variable setting unit, and a startup unit.

[0129] A container configuration unit, used to configure the container according to the configuration information of the development environment, wherein the configuration information includes the container name, network settings, storage volume mounting, and resource restrictions;

[0130] An environment variable setting unit, used to set the development environment startup parameters into the environment variables of the container; and

[0131] The launch unit is used to start the newly created container to run the development environment requested by the user.

[0132] According to an embodiment of the present disclosure, the startup unit is further configured to execute a startup command to start a tool in the development environment; and to run an application in the development environment.

[0133] According to an embodiment of the present disclosure, the parsing module includes a second parsing submodule and a building submodule.

[0134] A second parsing submodule, used to parse the request initiated by the user to extract the email address and login password information submitted by the user; and

[0135] The construction submodule is used to construct startup parameters in the form of key-value pairs using the email address and login password information submitted by the user.

[0136] According to an embodiment of the present disclosure, any multiple modules of the parsing module 710, the creation module 720, the determination module 730 and the sending module 740 can be combined into one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the parsing module 710, the creation module 720, the determination module 730 and the sending module 740 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware and firmware or in any appropriate combination of any of them. Alternatively, at least one of the parsing module 710, the creation module 720, the determination module 730 and the sending module 740 can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding function can be performed.

[0137] Figure 8 A block diagram of an electronic device suitable for implementing a container-based development environment deployment method according to an embodiment of the present disclosure is schematically shown.

[0138] like Figure 8As shown, the electronic device 900 according to an embodiment of the present disclosure includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage part 908 to a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include an onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0139] In RAM 903, various programs and data required for the operation of electronic device 900 are stored. Processor 901, ROM 902 and RAM 903 are connected to each other via bus 904. Processor 901 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 902 and / or RAM 903. It should be noted that the program can also be stored in one or more memories other than ROM 902 and RAM 903. Processor 901 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.

[0140] According to an embodiment of the present disclosure, the electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to the bus 904. The electronic device 900 may further include one or more of the following components connected to the I / O interface 905: an input portion 906 including a keyboard, a mouse, etc.; an output portion 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 908 including a hard disk, etc.; and a communication portion 909 including a network interface card such as a LAN card, a modem, etc. The communication portion 909 performs communication processing via a network such as the Internet. The drive 909 is also connected to the I / O interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 909 as needed, so that the computer program read therefrom is installed into the storage portion 908 as needed.

[0141] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the container-based development environment deployment method according to the embodiment of the present disclosure is implemented.

[0142] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, may include but is not limited to: a portable computer disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present disclosure, a computer-readable storage medium may include the ROM 902 and / or RAM 903 described above and / or one or more memories other than ROM 902 and RAM 903.

[0143] The embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program includes a program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the container-based development environment deployment method provided by the embodiment of the present disclosure.

[0144] The above functions defined in the system / device of the embodiment of the present disclosure are performed when the computer program is executed by the processor 901. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.

[0145] In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of a signal on a network medium, and downloaded and installed through the communication part 909, and / or installed from a removable medium 911. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0146] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, the above functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, means, module, unit, etc. described above can be implemented by a computer program module.

[0147] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).

[0148] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0149] It will be appreciated by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations and / or combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways without departing from the spirit and teachings of the present disclosure. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0150] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes 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 various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the attached claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A container-based development environment deployment method, characterized in that: The method comprises: In response to a development environment creation request initiated by a user, parsing the development environment creation request to determine a startup parameter, wherein the development environment creation request is initiated by the user on a network application through a browser; Creating a development environment in the form of a container in the container management cluster according to the startup parameters; Receiving and parsing information returned by the container management cluster to determine development environment login information; and The development environment login information is sent to the user in the form of an email.

2. The method according to claim 1, characterized in that The startup parameters include an email address and login password information, and creating a development environment in the form of a container in the container management cluster according to the startup parameters includes: Submitting a creation request to a container management cluster for deploying a development environment by using the email address and the login password information as development environment startup parameters; Parsing the creation request to pull the image file; and A container is created according to the image file and the development environment startup parameters.

3. The method according to claim 2, characterized in that The parsing of the creation request to pull the image file includes: Parsing the creation request to determine configuration information of the development environment and development environment startup parameters; and Pull the pre-configured image file of the development environment from the image repository according to the configuration information of the development environment.

4. The method according to claim 3, characterized in that The creating a container according to the image file and the development environment startup parameters comprises: Configure the container according to the configuration information of the development environment, wherein the configuration information includes the container name, network settings, storage volume mounts, and resource limits; Setting the development environment startup parameters into the environment variables of the container; and Start the newly created container to run the development environment requested by the user.

5. The method according to claim 4, characterized in that Starting the newly created container to run the development environment requested by the user includes: Execute the startup command to start the tools in the development environment; and Run the application in the development environment.

6. The method according to any one of claims 1 to 5, characterized in that The parsing of the development environment creation request to determine the startup parameters includes: Parse the request initiated by the user to extract the email address and login password information submitted by the user; and Construct startup parameters using the email address and login password information submitted by the user in the form of key-value pairs.

7. A container-based development environment deployment device, characterized in that: The device comprises: A parsing module, for responding to a development environment creation request initiated by a user, parsing the development environment creation request to determine a startup parameter, wherein the development environment creation request is initiated by the user on a network application through a browser; A creation module, used to create a development environment in the form of a container in the container management cluster according to the startup parameters; a determination module, configured to receive and parse information returned by the container management cluster to determine development environment login information; and The sending module is used to send the development environment login information to the user in the form of an email.

8. An electronic device comprising: one or more processors; a storage device for storing one or more computer programs, It is characterized in that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Application deployment method and device, equipment and medium

    CN116107688A

  • Research and development environment deployment method and system, computer equipment and storage medium

    CN117435215A

  • Application infrastructure platform (AIP)

    US20030120502A1

  • Droplet execution engine for dynamic server application deployment

    US20110265081A1

  • Interactive user interface implementation and development environment therefor

    US20120254722A1