CN110647332A - Software deployment method and device based on container cloud - Google Patents
Software deployment method and device based on container cloud Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000010354 integration Effects 0.000 claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000012360 testing method Methods 0.000 claims description 52
- 238000012544 monitoring process Methods 0.000 claims description 18
- 238000010276 construction Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 13
- 238000013522 software testing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000000835 fiber Substances 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, 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
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.
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.
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.
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.
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 (10)
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 |
CN114296871A (en) * | 2021-12-22 | 2022-04-08 | 华人运通(上海)云计算科技有限公司 | Container-based continuous integration method, device and system, working node and medium |
CN116635917A (en) * | 2020-10-13 | 2023-08-22 | 埃尔构人工智能有限责任公司 | System and method for improved smart utility data transfer |
Citations (6)
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 | 软通智慧科技有限公司 | Deployment online management method, device, equipment and storage medium of application |
-
2019
- 2019-09-30 CN CN201910944226.XA patent/CN110647332A/en active Pending
Patent Citations (6)
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 | 软通智慧科技有限公司 | Deployment online management method, device, equipment and storage medium of application |
Non-Patent Citations (2)
Title |
---|
佚名: "实际操作git+jenkins+k8s 自动化部署运维,建议收藏", 《HTTPS://WWW.163.COM/DY/ARTICLE/EOALT5HF0518HB6D.HTML》 * |
张新朝等: "基于OpenStack云平台虚拟集群环境的部署", 《闽南师范大学学报(自然科学版)》 * |
Cited By (14)
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 |
US12061893B2 (en) | 2020-10-13 | 2024-08-13 | Argo AI, LLC | Systems and methods for improved smart infrastructure 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 |
CN114296871A (en) * | 2021-12-22 | 2022-04-08 | 华人运通(上海)云计算科技有限公司 | Container-based continuous integration method, device and system, working node and medium |
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 | |
US10841185B2 (en) | Platform-integrated IDE | |
CN108196915B (en) | Code processing method and device based on application container engine and storage medium | |
US20190155721A1 (en) | Automated integration testing with mock microservices | |
US10430172B2 (en) | Re-configuration in cloud computing environments | |
EP3332309B1 (en) | Method and apparatus for facilitating a software update process over a network | |
US10977167B2 (en) | Application monitoring with a decoupled monitoring tool | |
CN112685035B (en) | Project development method and device, computer readable storage medium and electronic equipment | |
US20180285156A1 (en) | Container chaining for automated process completion | |
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 | |
CN111176818B (en) | Distributed prediction method, device, system, electronic equipment and storage medium | |
CN109901985B (en) | Distributed test apparatus and method, storage medium, and electronic device | |
CN113934426A (en) | Software package processing method, device, system, equipment and medium | |
CN110727575B (en) | Information processing method, system, device and storage medium | |
US9141363B2 (en) | Application construction for execution on diverse computing infrastructures | |
CN109753300B (en) | Algorithm upgrading method, calculation task sending method and related device | |
CN113377665B (en) | Container technology-based testing method and device, electronic equipment and storage medium | |
CN117337429A (en) | Deploying a machine learning model | |
CN113127009A (en) | Automatic deployment method and device for big data management platform | |
CN114072765A (en) | Method for container-based virtualization system | |
CN114816672A (en) | Virtual machine creation method and device, electronic equipment and storage medium | |
CN110083366B (en) | Application running environment generation method and device, computing equipment and storage medium |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200103 |