CN110647332A - Software deployment method and device based on container cloud - Google Patents

Software deployment method and device based on container cloud Download PDF

Info

Publication number
CN110647332A
CN110647332A CN201910944226.XA CN201910944226A CN110647332A CN 110647332 A CN110647332 A CN 110647332A CN 201910944226 A CN201910944226 A CN 201910944226A CN 110647332 A CN110647332 A CN 110647332A
Authority
CN
China
Prior art keywords
software
image
deployment
container
testing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910944226.XA
Other languages
Chinese (zh)
Inventor
贺龙华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910944226.XA priority Critical patent/CN110647332A/en
Publication of CN110647332A publication Critical patent/CN110647332A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

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

Abstract

The embodiment of the application discloses a software deployment method and device based on a container cloud, and the method and device can be applied to the field of cloud computing. An embodiment of the method comprises: in response to receiving a software integration request, constructing a software image based on software codes submitted by a user; creating a virtual container based on a predetermined software deployment scale; deploying a software image on the created virtual container. According to the scheme, the virtual container is created according to the requirement of the software deployment scale, and the software image constructed based on the software code submitted by the user is deployed on the created virtual container, so that cross-node container deployment and software deployment can be realized.

Description

Software deployment method and device based on container cloud
Technical Field
The embodiment of the application relates to the field of computers, in particular to the field of cloud computing, and particularly relates to a software deployment method and device based on a container cloud.
Background
Container (Container), is a virtualization technology. Because it virtualizes only the operating system, and does not need a virtual underlying computer, containers are a lightweight and more flexible way of virtualization processing than virtual machines.
The container virtualization technology applied in the field of cloud computing and cloud service can be called container cloud. When software deployment is performed on a container providing cloud services, in the prior art, tasks are generally issued to a work node through a control node in a pre-established cluster, and the work node performs compilation and installation of software.
Disclosure of Invention
The embodiment of the application provides a software deployment method and device based on a container cloud.
In a first aspect, an embodiment of the present application provides a software deployment method based on a container cloud, including: in response to receiving a software integration request, constructing a software image based on software codes submitted by a user; creating a virtual container based on a predetermined software deployment scale; deploying a software image on the created virtual container.
In some embodiments, in response to receiving the software integration request, building a software image based on software code submitted by a user, includes: in response to receiving the software integration request, a software image corresponding to the software code is constructed based on an image construction script in the software code.
In some embodiments, in response to receiving the software integration request, building a software image based on software code submitted by a user, includes: in response to receiving the software integration request, performing unit testing on the software code submitted by the user; and constructing a software image based on the image construction script in the software code.
In some embodiments, the method further comprises: the unit test software image is sent to a remote image storage unit.
In some embodiments, after deploying the software image on the created virtual container, the method further comprises: performing software testing on the deployed software mirror image; and monitoring the testing process of the software test to obtain monitoring data of the software test.
In some embodiments, the software testing includes at least one of: functional testing and pressure testing.
In a second aspect, an embodiment of the present application further provides a software deployment apparatus based on a container cloud, including: a construction unit configured to construct a software image based on a software code submitted by a user in response to receiving a software integration request; a virtual container creating unit configured to create a virtual container based on a predetermined software deployment scale; a deployment unit configured to deploy the software image on the created virtual container.
In some embodiments, the building unit is further configured to: in response to receiving the software integration request, a software image corresponding to the software code is constructed based on an image construction script in the software code.
In some embodiments, the building unit is further configured to: in response to receiving the software integration request, performing unit testing on the software code submitted by the user; and constructing a software image based on the image construction script in the software code.
In some embodiments, the apparatus further comprises a sending unit configured to send the unit test software image to a remote image storage unit.
In some embodiments, after deploying the software image on the created virtual container, the apparatus further comprises: a software testing unit configured to perform software testing on the deployed software image; and the monitoring unit is configured to monitor the testing process of the software test so as to obtain monitoring data of the software test.
In some embodiments, the software testing includes at least one of: functional testing and pressure testing.
In a third aspect, an embodiment of the present application provides an electronic device, including: one or more processors; storage means for storing one or more programs which, when executed by one or more processors, cause the one or more processors to carry out the method as described in the first aspect.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium on which a computer program is stored, wherein the program, when executed by a processor, implements the method as described in the first aspect.
According to the software deployment scheme based on the container cloud provided by the embodiment of the application, firstly, in response to the reception of a software integration request, a software image is constructed based on a software code submitted by a user, then, a virtual container is created based on a predetermined software deployment scale, then, the software image is deployed on the created virtual container, the virtual container is created according to the requirement of the software deployment scale, the software image constructed based on the software code submitted by the user is deployed on the created virtual container, and therefore cross-node container deployment and software deployment can be achieved.
Further, in some embodiments, since cross-node, large-scale container deployment and software deployment can be performed through the software deployment scheme, pressure testing can be performed on the deployed software, and monitoring data of the pressure testing can be obtained.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture diagram in which a container cloud based software deployment method of one embodiment of the present application may be applied;
FIG. 2 is a schematic flow chart diagram illustrating one embodiment of a container cloud based software deployment method in accordance with the present application;
FIG. 3 is a schematic diagram of one application scenario of a container cloud based software deployment method according to the present application;
FIG. 4 is a schematic flow chart diagram illustrating another embodiment of a container cloud based software deployment method in accordance with the present application;
FIG. 5 is a schematic diagram of another application scenario of a container cloud based software deployment method according to the present application;
FIG. 6 is a schematic block diagram of one embodiment of a container cloud based software deployment apparatus in accordance with the present application;
fig. 7 is a schematic structural diagram of a computer system of an electronic device suitable for implementing the container cloud-based software deployment method according to the embodiment of the present application.
Detailed Description
The present application will be described in further detail with reference to the following drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
Fig. 1 illustrates an exemplary system architecture 100 to which embodiments of the container cloud based software deployment method or the container cloud based software deployment apparatus of the present application may be applied.
As shown in fig. 1, system architecture 100 may include end devices 101, 102, 103, network 104, and cloud server cluster 105. Network 104 is used to provide a medium of communication links between terminal devices 101, 102, 103 and cloud server cluster 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user 110 may use the terminal devices 101, 102, 103 to interact with the cloud server cluster 105 over the network 104 to receive or send messages or the like to the cloud server cluster 105. Various client applications, such as a search-class application, a question-and-answer-class application, etc., may be installed on the terminal devices 101, 102, 103.
The terminal devices 101, 102, 103 may be various electronic devices having screens including, but not limited to, smart phones, tablet computers, smart watches, laptop computers, and the like.
Cloud server cluster 105 may be a cluster of servers that provide various services. The cloud server cluster may include a plurality of physical servers, and the physical servers may have virtual containers mounted thereon. The cloud server cluster 105 may respond to the data request sent by the user through the terminal devices 101, 102, and 103, and feed back the execution result of the data request to the terminal devices 101, 102, and 103.
In the cloud server cluster 105, there may be at least one control node 105a and a plurality of execution nodes 105 b. The control node 105a may send instructions to the execution node 105b to control the execution node 105b to execute the corresponding instructions. For example, the control node 105a may send a software deployment instruction to the execution node 105b to cause the execution node 105b to perform software deployment.
It should be noted that the container cloud-based software deployment method provided in the embodiment of the present application is generally executed by the control node 105a in the cloud server cluster 105. Accordingly, a container cloud based software deployment apparatus is typically provided in the control node 105a in the cloud server cluster 105.
It should be understood that the number of end devices, networks, and cloud server clusters in fig. 1 is merely illustrative. There may be any number of end devices, networks, and cloud server clusters, as desired for implementation. The number of physical servers included in the cloud server cluster and the number of virtual containers mounted on each physical server may be arbitrary.
With continued reference to FIG. 2, a flow 200 of one embodiment of a container cloud based software deployment method according to the present application is shown.
The software deployment method based on the container cloud comprises the following steps:
in response to receiving the software integration request, a software image is constructed based on the software code submitted by the user, step 201.
In the field of cloud computing, there is often a large, frequent need for software updates. Accordingly, in order to improve the efficiency of software development, it is common to develop by cooperation of a plurality of developers. That is, each developer can submit its own written code, compile and issue the code. This scenario is commonly referred to as Continuous Integration (CI) of software.
In the CI scenario, after the developer completes the code writing, a software integration request may be sent to the execution principal (e.g., control node 105a shown in FIG. 1). After receiving the software integration request, the execution body may perform authentication according to a sender of the request to confirm whether the sender of the request has the software integration right. If the executing entity determines that the sender of the request has the software integration authority, the sender may upload the software code thereof, for example, the sender may upload the software code to a pre-established code database.
It will be appreciated that the pre-established code database may be located locally to the execution entity or may be located on other electronic devices communicatively coupled to the execution entity.
After receiving the software code submitted by the user, the execution subject may compile the submitted software code, thereby generating a software image corresponding to the software code.
In some alternative implementations, a build script (e.g., a build image script) is included in the software code submitted by the user. In this way, after receiving the software integration request, the execution subject may compile the software code submitted by the user based on the build script set in the software code, thereby obtaining a corresponding software image.
Step 202, creating a virtual container based on a predetermined software deployment scale.
Here, the software deployment scale may be understood as the number of virtual containers that need software deployment in the distributed system.
It will be appreciated that in some alternative implementations, the software deployment scale may be specified by the software developer at the time of sending the software integration request. Alternatively, in alternative implementations, the software deployment scale may be associated with the type of cloud service to which the software code submitted by the user applies.
In addition, in this step, if the number of the current virtual containers in the distributed system is less than the number of the virtual containers indicated by the predetermined software deployment scale, the execution subject may create the virtual containers, so as to meet the requirement of the software deployment scale.
Here, the creation of the virtual container may be performed using an existing (e.g., Swarm or kubernets) or a technology to be developed in the future.
Step 203, deploying a software image on the created virtual container.
In step 202, the executing entity has created virtual containers according to the software deployment scale, and in this step, the software image created in step 201 may be further deployed to these virtual containers.
The deployment process of software images to virtual containers is similar to the process of software installation on a physical machine. After the deployment of the software image on the virtual container is completed, the software image can provide corresponding services to the user.
In cloud service systems deployed in container (e.g., docker) mode, the prior art can typically only be deployed based on physical or virtual machines during the course of persistent integration. Thus, the prior art fails to address the need for software to build containers in the CI process, and for large scale deployment of containers. For example, in the prior art, CI procedures are typically performed by building Jenkins clusters. Specifically, a task is issued to a working node through a Jenkins control node, and the working node compiles and installs software. However, Jenkins cannot support docker container orchestration and deployment by itself, and even cannot deploy containers across hosts in a large scale.
According to the software deployment scheme based on the container cloud provided by the embodiment of the application, firstly, in response to the reception of a software integration request, a software image is constructed based on a software code submitted by a user, then, a virtual container is created based on a predetermined software deployment scale, then, the software image is deployed on the created virtual container, the virtual container is created according to the requirement of the software deployment scale, the software image constructed based on the software code submitted by the user is deployed on the created virtual container, and therefore cross-node container deployment and software deployment can be achieved.
With continued reference to fig. 3, fig. 3 is a schematic diagram 300 of an application scenario of the container cloud based software deployment method according to the present embodiment.
In the application scenario shown in fig. 3, a developer may first submit software code to a code repository 302(gitlab), as indicated by reference numeral 301. Next, using the build script in the code repository 302, the software code may be compiled to build a docker image, as shown at reference numeral 303. Next, a virtual container is created based on a predetermined deployment scale (for example, a deployment scale specified by a developer or a deployment scale determined by a service type of the cloud service to which the code corresponds), as indicated by reference numeral 304. Here, the creation of the virtual container may be performed using, for example, a kubernets tool. Next, deployment of the docker image may be performed in the created virtual container.
Referring to fig. 4, there is shown a schematic flow chart 400 of another embodiment of a container cloud based software deployment method of the present application.
The software deployment method based on the container cloud comprises the following steps:
in response to receiving the software integration request, a software image is constructed based on the software code submitted by the user, step 401.
Step 402, creating a virtual container based on a predetermined software deployment scale.
At step 403, a software image is deployed on the created virtual container.
The steps 401 to 403 can be performed in a manner similar to the steps 201 to 203 in the embodiment shown in fig. 2, and are not described herein again.
Unlike the embodiment shown in fig. 2, the method for deploying software based on a container cloud according to the present embodiment may further include steps 404 and 405 as follows.
Step 404, performing software testing on the deployed software image.
In this step, the software test performed on the software image may include, for example, a function test and a stress test.
Functional testing may refer to, for example, a testing process that determines whether a software image can achieve its purported functions through testing. Furthermore, stress testing may refer, for example, to the extreme case where system resources (e.g., including but not limited to system memory, CPU, disk space, and/or network bandwidth, etc.) capable of running a software image may be determined by testing.
Step 405, monitoring the testing process of the software test to obtain monitoring data of the software test.
Through the steps 401 to 403, the software image can be deployed on the virtual container, so that the compiled software image can be deployed in a distributed environment. Thus, through steps 404 and 405 as above, the software image can be subjected to the functionality test and the stress test in the distributed environment, and the resource consumption of the distributed system by the software image can be determined based on the analysis of the monitoring data of the functionality test and the stress test.
Therefore, compared with the embodiment shown in fig. 2, in the embodiment, after the software image is deployed in the created virtual container, the software image deployed in the distributed environment may be further subjected to a functionality test and a stress test, so that the resource loss of the software image to the distributed system may be determined according to analysis of monitoring data of the functionality test and the stress test conveniently.
In addition, in some optional implementation manners of embodiments of the present application, after the step 201 and the step 401, in response to receiving the software integration request, and building a software image based on software codes submitted by a user, the container cloud-based software deployment method of the present application may further include:
and performing unit test on the constructed software image.
Accordingly, deploying the software image on the created virtual container of steps 203 and 403 may further include: and deploying the software image after the unit test on the created virtual container.
In these alternative implementations, after the build of the software image is completed, unit testing may be performed on the resulting software to determine the code coverage of the built software image. Here, the code coverage rate may be understood as the ratio and degree of the tested code, and the ratio of the tested code in the built software image may be determined through unit testing.
Accordingly, the software images deployed in steps 203 and 403 are software images after unit testing.
In addition, in some optional implementations of embodiments of the present application, the built software image may be sent to a remote image storage unit for storage.
It is understood that in some application scenarios of these alternative implementations, if the built software image is further unit tested after the software image is built, the software image after unit testing may be sent to the remote image storage unit.
Reference is further made to fig. 5, which is a schematic diagram illustrating another application scenario of the container cloud based software deployment method of the present application.
In the application scenario shown in fig. 5, it is schematically shown that the software service in the distributed system is deployed in a docker container mode, a Jenkins cluster is adopted for continuous integration of the software image, and a kubernets tool is adopted for deployment and testing of the software image in the docker container.
Specifically, first, as shown at reference numeral 501, a developer submits code to a code repository 502, triggering the CI pipeline of Jenkis.
Next, as indicated by reference numeral 503, Jenkins' CI pipeline begins running unit tests in the code, ensuring code test coverage.
Next, Jenkins' CI pipeline builds a docker image from the build image script in the code, as shown at reference numeral 504.
Next, as indicated by reference numeral 505, the pipeline continues to push the mirror to a remote mirror Hub (docker Hub) 506.
Next, the pipeline begins updating the Kubernets configuration, as indicated by reference numeral 507. For example, the pipeline may update the yaml configuration file in Kubernets to determine the deployment size of the software image.
Next, Kubernetes starts creating a virtual container according to the deployment scale of the software image, and deploys the software image in the created virtual container, as indicated by reference numeral 508. Next, a health survival check may be performed on the created virtual container (as shown at reference numeral 509).
Next, after deployment is complete, the pipeline may begin performing functional tests (as indicated by reference numeral 510) and stress tests (as indicated by reference numeral 511).
Next, as indicated by reference numeral 512, the monitoring data for the functional test and the stress test may be retrieved from the kubernets monitoring application. Therefore, cross-container and expandable deployment of the software mirror image can be realized in the continuous integration process of the software, and the deployed software mirror image can be subjected to function test and pressure test in a distributed environment, so that the resource loss of the software mirror image on an operating system can be further analyzed by utilizing the monitoring data of the function test and the pressure test.
As an implementation of the method shown in the above figures, the present application provides an embodiment of a software deployment apparatus based on a container cloud, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically applied to various electronic devices.
As shown in fig. 6, the software deploying apparatus 600 based on a container cloud according to the present embodiment includes a building unit 601, a virtual container creating unit 602, and a deploying unit 603.
The construction unit 601 may be configured to construct a software image based on software code submitted by a user in response to receiving a software integration request.
The virtual container creation unit 602 may be configured to create a virtual container based on a predetermined software deployment scale.
A deployment unit 603, which may be configured to deploy the software image on the created virtual container.
In some alternative implementations, the building unit 601 may be further configured to: in response to receiving the software integration request, a software image corresponding to the software code is constructed based on an image construction script in the software code.
In some alternative implementations, the building unit 601 may be further configured to: in response to receiving the software integration request, performing unit testing on the software code submitted by the user; and constructing a software image based on the image construction script in the software code.
In some optional implementations, the container cloud-based software deploying apparatus of this embodiment may further include: a sending unit (not shown in the figure).
In these alternative implementations, the sending unit may be configured to send the unit test software image to a remote image storage unit.
In some optional implementations, after deploying the software image on the created virtual container, the apparatus further comprises: a software testing unit configured to perform software testing on the deployed software image; and the monitoring unit is configured to monitor the testing process of the software test so as to obtain monitoring data of the software test.
In some alternative implementations, the software testing includes at least one of: functional testing and pressure testing.
Referring now to fig. 7, shown is a block diagram of a computer system 700 suitable for use with an electronic device implementing the container cloud based software deployment method of an embodiment of the present application. The electronic device shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 7, the computer system 700 includes one or more processors 701, which can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)702 or a program loaded from a storage section 706 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data necessary for the operation of the system 700 are also stored. The CPU 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
The following components are connected to the I/O interface 705: a storage portion 706 including a hard disk and the like; and a communication section 707 including a network interface card such as a LAN card, a modem, or the like. The communication section 707 performs communication processing via a network such as the internet. A drive 708 is also connected to the I/O interface 705 as needed. A removable medium 709 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 708 as necessary, so that a computer program read out therefrom is mounted into the storage section 706 as necessary.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 707 and/or installed from the removable medium 709. The computer program, when executed by the processor 701, performs the above-described functions defined in the method of the present application. It should be noted that the computer readable medium described herein can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present application may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes a building unit, a virtual container creating unit, and a deploying unit. Where the names of these elements do not in some cases constitute a limitation on the elements themselves, for example, a build element may also be described as an "element that builds a software image based on software code submitted by a user in response to receiving a software integration request.
As another aspect, the present application also provides a computer-readable medium, which may be contained in the apparatus described in the above embodiments; or may be present separately and not assembled into the device. The computer readable medium carries one or more programs which, when executed by the apparatus, cause the apparatus to: in response to receiving a software integration request, constructing a software image based on software codes submitted by a user; creating a virtual container based on a predetermined software deployment scale; deploying a software image on the created virtual container.
The above description is only a preferred embodiment of the application and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention herein disclosed is not limited to the particular combination of features described above, but also encompasses other arrangements formed by any combination of the above features or their equivalents without departing from the spirit of the invention. For example, the above features may be replaced with (but not limited to) features having similar functions disclosed in the present application.

Claims (14)

1. A software deployment method based on a container cloud comprises the following steps:
in response to receiving a software integration request, constructing a software image based on software codes submitted by a user;
creating a virtual container based on a predetermined software deployment scale;
deploying the software image on the created virtual container.
2. The method of claim 1, wherein said building a software image based on software code submitted by a user in response to receiving a software integration request comprises:
in response to receiving a software integration request, a software image corresponding to the software code is constructed based on an image construction script in the software code.
3. The method of claim 1, wherein said building a software image based on software code submitted by a user in response to receiving a software integration request comprises:
in response to receiving the software integration request, performing unit testing on the software code submitted by the user;
and constructing the software image based on the image construction script in the software code.
4. The method of claim 2 or 3, wherein the method further comprises:
and sending the software image to a remote image storage unit.
5. The method of claim 1, wherein after the deploying the software image on the created virtual container, the method further comprises:
performing software testing on the deployed software mirror image;
and monitoring the test process of the software test to obtain the monitoring data of the software test.
6. The method of claim 5, wherein the software test comprises at least one of:
functional testing and pressure testing.
7. A container cloud based software deployment apparatus comprising:
a construction unit configured to construct a software image based on a software code submitted by a user in response to receiving a software integration request;
a virtual container creating unit configured to create a virtual container based on a predetermined software deployment scale;
a deployment unit configured to deploy the software image on the created virtual container.
8. The apparatus of claim 7, wherein the construction unit is further configured to:
in response to receiving a software integration request, a software image corresponding to the software code is constructed based on an image construction script in the software code.
9. The apparatus of claim 7, wherein the construction unit is further configured to:
in response to receiving the software integration request, performing unit testing on the software code submitted by the user;
and constructing the software image based on the image construction script in the software code.
10. The apparatus of claim 8 or 9, wherein the apparatus further comprises:
a sending unit configured to send the software image to a remote image storage unit.
11. The apparatus of claim 7, wherein after the deploying the software image on the created virtual container, the apparatus further comprises:
a software testing unit configured to perform software testing on the deployed software image;
and the monitoring unit is configured to monitor the test process of the software test so as to obtain the monitoring data of the software test.
12. The apparatus of claim 11, wherein the software test comprises at least one of:
functional testing and pressure testing.
13. An electronic device, comprising:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-6.
14. A computer-readable storage medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the method of any one of claims 1-6.
CN201910944226.XA 2019-09-30 2019-09-30 Software deployment method and device based on container cloud Pending CN110647332A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910944226.XA CN110647332A (en) 2019-09-30 2019-09-30 Software deployment method and device based on container cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910944226.XA CN110647332A (en) 2019-09-30 2019-09-30 Software deployment method and device based on container cloud

Publications (1)

Publication Number Publication Date
CN110647332A true CN110647332A (en) 2020-01-03

Family

ID=69012347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910944226.XA Pending CN110647332A (en) 2019-09-30 2019-09-30 Software deployment method and device based on container cloud

Country Status (1)

Country Link
CN (1) CN110647332A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111399897A (en) * 2020-02-21 2020-07-10 北京值得买科技股份有限公司 Application issuing method and system based on kubernets
CN111459576A (en) * 2020-03-31 2020-07-28 北京九章云极科技有限公司 Data analysis processing system and model operation method
CN111538660A (en) * 2020-04-24 2020-08-14 中国工商银行股份有限公司 Method and device for counting coverage rate of program codes in container on cloud
CN112114813A (en) * 2020-09-17 2020-12-22 四川长虹电器股份有限公司 Automatic generation method of yaml script based on production line
CN112256287A (en) * 2020-10-21 2021-01-22 武汉悦学帮网络技术有限公司 Application deployment method and device
CN112711411A (en) * 2020-12-22 2021-04-27 宝付网络科技(上海)有限公司 CI/CD pipeline system based on Kubernetes and docker
CN113835827A (en) * 2021-08-18 2021-12-24 微梦创科网络科技(中国)有限公司 Application deployment method and device based on container Docker and electronic equipment
CN114048170A (en) * 2021-10-20 2022-02-15 北京鲸鲮信息系统技术有限公司 Method, apparatus, device and medium for searching files across containers
CN116635917A (en) * 2020-10-13 2023-08-22 埃尔构人工智能有限责任公司 System and method for improved smart utility data transfer

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958927A (en) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 Dispositions method, device, computer equipment and the storage medium of container application
CN109032806A (en) * 2018-07-30 2018-12-18 华为技术有限公司 The service scheduling method and device of container
CN109144880A (en) * 2018-09-06 2019-01-04 北京京东尚科信息技术有限公司 The management method and system of image file, equipment, storage medium
CN109814879A (en) * 2019-01-16 2019-05-28 福建省天奕网络科技有限公司 Automate CI/CD project dispositions method, storage medium
US10389582B1 (en) * 2015-11-23 2019-08-20 Pivotal Software, Inc. Light-weight cloud application platform
CN110221859A (en) * 2019-06-05 2019-09-10 软通智慧科技有限公司 A kind of online management method of the deployment of application, device, equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10389582B1 (en) * 2015-11-23 2019-08-20 Pivotal Software, Inc. Light-weight cloud application platform
CN108958927A (en) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 Dispositions method, device, computer equipment and the storage medium of container application
CN109032806A (en) * 2018-07-30 2018-12-18 华为技术有限公司 The service scheduling method and device of container
CN109144880A (en) * 2018-09-06 2019-01-04 北京京东尚科信息技术有限公司 The management method and system of image file, equipment, storage medium
CN109814879A (en) * 2019-01-16 2019-05-28 福建省天奕网络科技有限公司 Automate CI/CD project dispositions method, storage medium
CN110221859A (en) * 2019-06-05 2019-09-10 软通智慧科技有限公司 A kind of online management method of the deployment of application, device, equipment and storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
佚名: "实际操作git+jenkins+k8s 自动化部署运维,建议收藏", 《HTTPS://WWW.163.COM/DY/ARTICLE/EOALT5HF0518HB6D.HTML》 *
张新朝等: "基于OpenStack云平台虚拟集群环境的部署", 《闽南师范大学学报(自然科学版)》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111399897A (en) * 2020-02-21 2020-07-10 北京值得买科技股份有限公司 Application issuing method and system based on kubernets
CN111459576A (en) * 2020-03-31 2020-07-28 北京九章云极科技有限公司 Data analysis processing system and model operation method
CN111538660A (en) * 2020-04-24 2020-08-14 中国工商银行股份有限公司 Method and device for counting coverage rate of program codes in container on cloud
CN111538660B (en) * 2020-04-24 2023-09-26 中国工商银行股份有限公司 Method and device for counting coverage rate of program codes in cloud container
CN112114813A (en) * 2020-09-17 2020-12-22 四川长虹电器股份有限公司 Automatic generation method of yaml script based on production line
CN116635917A (en) * 2020-10-13 2023-08-22 埃尔构人工智能有限责任公司 System and method for improved smart utility data transfer
CN112256287A (en) * 2020-10-21 2021-01-22 武汉悦学帮网络技术有限公司 Application deployment method and device
CN112711411A (en) * 2020-12-22 2021-04-27 宝付网络科技(上海)有限公司 CI/CD pipeline system based on Kubernetes and docker
CN112711411B (en) * 2020-12-22 2024-02-23 宝付网络科技(上海)有限公司 CI/CD pipeline system based on Kubernetes and docker
CN113835827A (en) * 2021-08-18 2021-12-24 微梦创科网络科技(中国)有限公司 Application deployment method and device based on container Docker and electronic equipment
CN114048170A (en) * 2021-10-20 2022-02-15 北京鲸鲮信息系统技术有限公司 Method, apparatus, device and medium for searching files across containers
CN114048170B (en) * 2021-10-20 2024-04-02 北京字节跳动网络技术有限公司 Method, apparatus, device and medium for searching files across containers

Similar Documents

Publication Publication Date Title
CN110647332A (en) Software deployment method and device based on container cloud
CN109358858B (en) Automatic deployment method, device, medium and electronic equipment
CN108196915B (en) Code processing method and device based on application container engine and storage medium
US20190155721A1 (en) Automated integration testing with mock microservices
US10387199B2 (en) Container chaining for automated process completion
US10430172B2 (en) Re-configuration in cloud computing environments
US20200097390A1 (en) Platform-integrated ide
EP3332309B1 (en) Method and apparatus for facilitating a software update process over a network
US8739125B2 (en) Automated and unattended process for testing software applications
US10977167B2 (en) Application monitoring with a decoupled monitoring tool
US20120005346A1 (en) Hypervisor selection for hosting a virtual machine image
US20180322037A1 (en) Impersonation in test automation
US8914673B2 (en) Distributed testing within a serial testing infrastructure
CN111832736A (en) Method, apparatus and computer program product for processing machine learning models
CN109901985B (en) Distributed test apparatus and method, storage medium, and electronic device
CN111176818B (en) Distributed prediction method, device, system, electronic equipment and storage medium
CN112685035A (en) Project development method and device, computer-readable storage medium and electronic device
CN109753300B (en) Algorithm upgrading method, calculation task sending method and related device
CN113934426A (en) Software package processing method, device, system, equipment and medium
US9141363B2 (en) Application construction for execution on diverse computing infrastructures
CN114968477A (en) Container heat transfer method and container heat transfer device
CN117112122A (en) Cluster deployment method and device
CN110727575B (en) Information processing method, system, device and storage medium
CN110083366B (en) Application running environment generation method and device, computing equipment and storage medium
EP3336705A1 (en) Certification process for cloud platform

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination