CN109814872B - max continuous deployment delivery platform and delivery method - Google Patents

max continuous deployment delivery platform and delivery method Download PDF

Info

Publication number
CN109814872B
CN109814872B CN201910072988.5A CN201910072988A CN109814872B CN 109814872 B CN109814872 B CN 109814872B CN 201910072988 A CN201910072988 A CN 201910072988A CN 109814872 B CN109814872 B CN 109814872B
Authority
CN
China
Prior art keywords
server
service
proxy
max
framework
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.)
Active
Application number
CN201910072988.5A
Other languages
Chinese (zh)
Other versions
CN109814872A (en
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 Missfresh Ecommerce Co Ltd
Original Assignee
Beijing Missfresh Ecommerce 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 Missfresh Ecommerce Co Ltd filed Critical Beijing Missfresh Ecommerce Co Ltd
Priority to CN201910072988.5A priority Critical patent/CN109814872B/en
Publication of CN109814872A publication Critical patent/CN109814872A/en
Application granted granted Critical
Publication of CN109814872B publication Critical patent/CN109814872B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a max continuous deployment delivery platform and a delivery method, wherein the delivery platform comprises: a front-end deployed independently in a Nginx container using an Vue framework; the server is deployed on the release server and used for compiling and packaging the system and pushing the compiled and packaged files to the storage server for storage; and the agent end is deployed on the application server and used for starting and restarting the application. The invention has the following advantages: the method can realize the development, test and construction among multiple service groups and multiple teams, realize the online rapid release and realize the intelligent rollback.

Description

max continuous deployment delivery platform and delivery method
Technical Field
The invention relates to the technical field of computers, in particular to a max continuous deployment delivery platform and a delivery method.
Background
The compiling and running environment in an enterprise generally comprises Linux + Mac + Windows, namely comprises a back end + a front end + a mobile end. This compilation and runtime environment presents problems: the language version, the basic component version and the basic library version are inconsistent, and no standardized flow specification exists.
Disclosure of Invention
The present invention is directed to solving at least one of the above problems.
Therefore, the first purpose of the invention is to provide a max continuous deployment delivery platform, which can realize rapid release and intelligent rollback when multi-service group and multi-team development is carried out for test construction and online release.
In order to achieve the above object, an embodiment of the present invention discloses a max continuous deployment delivery platform, including: a front-end deployed independently in a Nginx container using an Vue framework; the server is deployed on the release server and used for compiling and packaging the system and pushing the compiled and packaged files to the storage server for storage; the agent terminal is deployed on the application server and used for starting and restarting the application; the front end calls a proxy service, and the proxy service calls the service of the server.
According to the max continuous deployment and delivery platform provided by the embodiment of the invention, development among multiple service groups and multiple teams can be realized for test construction, online rapid release can be realized, and intelligent rollback can be realized.
In addition, the max continuous deployment delivery platform according to the above embodiment of the present invention may also have the following additional technical features:
optionally, the server is specifically configured to package the springboot-type item into a jar packet for service startup through a maven command, and push the jar packet to a specified path of the storage server for storage.
Optionally, the proxy service calls the service of the server through a Remote Procedure Call (RPC) framework.
Optionally, the server uses an open source distributed service framework Dubbo as the RPC framework.
Optionally, the agent end and the server end communicate with each other using a message queue MQ.
Optionally, the method further comprises: and the load balancer is arranged between the Nginx container and the proxy end and used for carrying out load balancing.
Therefore, the second purpose of the invention is to provide a max continuous deployment and delivery method, which can realize rapid release and intelligent rollback when multi-service group and multi-team development is carried out for test construction and online release.
In order to achieve the above object, an embodiment of the present invention discloses a max continuous deployment delivery method, including the following steps: an Vue framework is used at the front end and is independently deployed in a Nginx container; providing a release server and a storage server, and establishing a server on the release server, wherein the server is used for compiling and packaging a system, and further pushing the compiled and packaged files to the storage server for storage; providing an application server, and establishing a proxy terminal on the application server, wherein the proxy terminal is used for starting and restarting applications according to an external instruction; and calling the proxy service through the front end, and calling the service of the service end by the proxy service.
According to the max continuous deployment and delivery method provided by the embodiment of the invention, development among multiple service groups and multiple teams can be realized for test construction, online rapid release can be realized, and intelligent rollback can be realized.
In addition, the max continuous deployment delivery method according to the above embodiment of the present invention may further have the following additional technical features:
optionally, the method further comprises: and communicating between the agent terminal and the service terminal by using a message queue MQ.
Optionally, the front-end invokes a proxy service; the proxy service calls the service of the server side through a Remote Procedure Call (RPC) framework.
Optionally, the method further comprises: and carrying out load balancing between the Nginx container and the proxy terminal.
Additional aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
Drawings
The above and/or additional aspects and advantages of the present invention will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
FIG. 1 is a block diagram of a max persistent deployment delivery platform according to an embodiment of the invention;
FIG. 2 is a flow diagram of a max persistent deployment delivery method of one embodiment of the invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the accompanying drawings are illustrative only for the purpose of explaining the present invention and are not to be construed as limiting the present invention.
These and other aspects of embodiments of the invention will be apparent with reference to the following description and attached drawings. In the description and drawings, particular embodiments of the invention have been disclosed in detail as being indicative of some of the ways in which the principles of the embodiments of the invention may be practiced, but it is understood that the scope of the embodiments of the invention is not limited correspondingly. On the contrary, the embodiments of the invention include all changes, modifications and equivalents coming within the spirit and terms of the claims appended hereto.
The max continuous deployment delivery platform of the present invention is described below in conjunction with the figures.
FIG. 1 is a block diagram of a max persistent deployment delivery platform according to an embodiment of the invention. As shown in fig. 1, the max continuous deployment and delivery platform according to the embodiment of the present invention includes a front end, a Server end (i.e., a Server end), and a proxy end (i.e., an Agent end).
Wherein, the front end is independently deployed in a Nginx container by using an Vue framework. Wherein, the front end provides login, authority control and release. For example, the front end provides a user login interface, and different users can log in the login interface. The front end can also set different authorities for different users, for example, a certain user a can only see and use the code written by the user a, and a certain user B can view the codes of other users in the authorities. The front end also provides distribution functionality, such as distributing code. Among them, the Vue framework is a progressive framework for building data-driven web interfaces. The Vue framework aims to implement responsive data binding and assembly view components through a simple API. It is not only easy to get a hand, but also convenient to integrate with third party libraries or existing projects. Nginx is a high-performance HTTP and reverse proxy service, and is characterized by small memory and strong concurrency capability.
In one embodiment of the invention, the Nginx container is used for load balancing, thereby expanding the bandwidth of network devices and servers, increasing the throughput, strengthening the data processing capacity of the network, and improving the flexibility and the availability of the network.
The server is deployed on the publishing server. The server is used for compiling and packaging the system and pushing the compiled and packaged files to a storage server for storage.
Specifically, after receiving the code, the server compiles the code into a service initiation package with a specified format. The code received by the server can be generated by one program language or multiple program languages.
In an embodiment of the present invention, the server is specifically configured to package a springboot type item into a jar packet for service startup through a maven command, and push the jar packet to a specified path of the storage server for storage.
In one embodiment of the invention, the front-end invokes a proxy service, for example via http. The proxy service calls the service of the server side through a Remote Procedure Call (RPC) framework.
Further, the server uses an open source distributed service framework (Dubbo) as the RPC framework. Dubbo is a high-performance, lightweight, open-source Java RPC framework that provides three core capabilities: interface-oriented remote method invocation, intelligent fault tolerance and load balancing, and automatic registration and discovery of services.
The agent is deployed on the application server. The agent side is used for starting and restarting the application.
In one embodiment of the invention, the agent and the server communicate using a Message Queue (MQ), and the application communicates by reading and writing messages (data for the application) to and from the Queue without requiring a dedicated connection to link them. Message passing refers to the communication between programs by sending data in a message, rather than communicating with each other through direct calls, which are often used for techniques such as remote procedure calls. Queuing refers to the application communicating through a queue. The use of queues removes the requirement that the receiving and sending applications execute simultaneously. The agent terminal and the service terminal communicate by using the MQ, so that the exposure of excessive ports of the application server can be avoided, and the safety of the application server is ensured.
FIG. 2 is a flow diagram of a max persistent deployment delivery method according to an embodiment of the invention. As shown in fig. 2, the max continuous deployment delivery method of the embodiment of the present invention includes the following steps:
s1: the Vue framework was used at the front end and deployed independently in a Nginx container. The Vue framework is a progressive framework for building data-driven web interfaces. The goal of the Vue framework is to implement the data binding and combined view components of the response through as simple an API as possible. It is not only easy to get a hand, but also convenient to integrate with third party libraries or existing projects. Nginx is a high-performance HTTP and reverse proxy service, and is characterized by small memory occupation and strong concurrency capability.
S2: the method comprises the steps of providing a publishing Server and a storage Server, and establishing a Server side (namely a Server side) on the publishing Server. The server is used for compiling and packaging the system, and then pushing the compiled and packaged files to the storage server for storage. After receiving the code, the server compiles the code into a service start package with a specified format. The code received by the server can be generated by one program language or multiple program languages.
In an embodiment of the present invention, the server is specifically configured to package a springboot type item into a jar packet for service startup through a maven command, and push the jar packet to a specified path of the storage server for storage.
In one embodiment of the invention, the server uses the open source distributed service framework (Dubbo) as the RPC framework. Dubbo is a high-performance, lightweight, open-source Java RPC framework that provides three core capabilities: interface-oriented remote method invocation, intelligent fault tolerance and load balancing, and automatic registration and discovery of services.
S3: providing an application server and establishing a proxy end (namely an Agent end) on the application server. The agent terminal is used for starting and restarting the application according to an external instruction.
S4: and calling the proxy service through the front end, and enabling the proxy service to call the service of the server. In one embodiment of the invention, the proxy service calls the service of the server side through a Remote Procedure Call (RPC) framework.
In one embodiment of the present invention, the max continuous deployment delivery method further comprises: load balancing is carried out between the Nginx container and the proxy end, so that the bandwidth of network equipment and a server is expanded, the throughput is increased, the network data processing capacity is enhanced, and the flexibility and the availability of the network are improved.
In one embodiment of the invention, the agent and the server communicate using a Message Queue (MQ), and the application communicates by reading and writing messages (data for the application) to and from the Queue without requiring a dedicated connection to link them. Message passing refers to the communication between programs by sending data in a message, rather than communicating with each other through direct calls, which are often used for techniques such as remote procedure calls. Queuing refers to the application communicating through a queue. The use of queues removes the requirement that the receiving and sending applications execute simultaneously. The agent terminal and the service terminal communicate by using the MQ, so that the exposure of excessive ports of the application server can be avoided, and the safety of the application server is ensured.
According to the max continuous deployment and delivery method provided by the embodiment of the invention, development among multiple service groups and multiple teams can be realized for test construction, online rapid release can be realized, and intelligent rollback can be realized.
In addition, other structures and functions of the max continuous deployment and delivery platform according to the embodiment of the present invention are known to those skilled in the art, and are not described herein for reducing redundancy.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
While embodiments of the invention have been shown and described, it will be understood by those of ordinary skill in the art that: various changes, modifications, substitutions and alterations can be made to the embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.

Claims (8)

1. A max continuous deployment delivery platform, comprising:
the system comprises a front end, a server and a server, wherein the front end is independently deployed in an Nginx container by using an Vue framework, and is used for login, authority control and release;
the server is deployed on the release server and used for compiling and packaging the system and pushing the compiled and packaged files to the storage server for storage, wherein the compiling is to compile codes into a service start package with a specified format;
the agent terminal is deployed on the application server and used for starting and restarting the application;
the front end calls a proxy service, and the proxy service calls the service of the server; and the agent terminal and the service terminal communicate by using a message queue MQ, wherein the application program communicates by reading and writing messages entering and exiting the queue.
2. The max continuous deployment delivery platform of claim 1, wherein the server is specifically configured to package a springboot-type item into a jar package for service startup through a maven command, and push the jar package to a specified path of the storage server for storage.
3. The max continuous deployment delivery platform of claim 1, wherein the proxy service calls the service of the server through a Remote Procedure Call (RPC) framework.
4. The max continuous deployment delivery platform of claim 3, wherein the server uses an open source distributed service framework Dubbo as the RPC framework.
5. The max continuous deployment delivery platform of claim 1, further comprising:
and the load balancer is arranged between the Nginx container and the proxy end and used for carrying out load balancing.
6. A max persistent deployment delivery method, comprising the steps of:
an Vue framework is used at the front end and is independently deployed in an Nginx container, wherein the front end provides login, authority control and release;
providing an issuing server and a storage server, and establishing a server on the issuing server, wherein the server is used for compiling and packaging a system, and further pushing a compiled and packaged file to the storage server for storage, wherein the compiling is to compile a code into a service starting package with a specified format;
providing an application server, and establishing a proxy terminal on the application server, wherein the proxy terminal is used for starting and restarting applications according to an external instruction;
calling proxy service through the front end, and enabling the proxy service to call the service of the server side; and the agent end and the service end communicate with each other by using a message queue MQ, wherein the application program communicates by reading and writing messages entering and exiting the queue.
7. The max persistent deployment delivery method of claim 6, further comprising:
the front end calls a proxy service;
the proxy service calls the service of the server side through a Remote Procedure Call (RPC) framework.
8. The max continuous deployment delivery method of claim 6, further comprising:
and carrying out load balancing between the Nginx container and the proxy terminal.
CN201910072988.5A 2019-01-25 2019-01-25 max continuous deployment delivery platform and delivery method Active CN109814872B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910072988.5A CN109814872B (en) 2019-01-25 2019-01-25 max continuous deployment delivery platform and delivery method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910072988.5A CN109814872B (en) 2019-01-25 2019-01-25 max continuous deployment delivery platform and delivery method

Publications (2)

Publication Number Publication Date
CN109814872A CN109814872A (en) 2019-05-28
CN109814872B true CN109814872B (en) 2022-06-21

Family

ID=66605087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910072988.5A Active CN109814872B (en) 2019-01-25 2019-01-25 max continuous deployment delivery platform and delivery method

Country Status (1)

Country Link
CN (1) CN109814872B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111917762B (en) * 2020-07-28 2022-11-08 银盛支付服务股份有限公司 Authority authentication solution method and system for front-end and back-end separation management systems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536899A (en) * 2015-01-20 2015-04-22 成都益联科创科技有限公司 Software deploying and maintaining method based on intelligent cluster
CN106294171A (en) * 2016-08-17 2017-01-04 北京奇虎科技有限公司 The test system of product automatic deployment, method and apparatus
CN107391182A (en) * 2017-06-30 2017-11-24 北京金山安全软件有限公司 Generation method, device, server and storage medium of theme installation package
CN108055248A (en) * 2017-11-30 2018-05-18 平安科技(深圳)有限公司 Remote invocation method, server and storage medium based on dubbo frames
CN109034602A (en) * 2018-07-23 2018-12-18 北京中泰合信管理顾问有限公司 It is a kind of using process structure as the Discussion on domestic system management method of core

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772926B2 (en) * 2015-08-20 2017-09-26 International Business Machines Corporation System and method for determining relevance of application software maintenance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536899A (en) * 2015-01-20 2015-04-22 成都益联科创科技有限公司 Software deploying and maintaining method based on intelligent cluster
CN106294171A (en) * 2016-08-17 2017-01-04 北京奇虎科技有限公司 The test system of product automatic deployment, method and apparatus
CN107391182A (en) * 2017-06-30 2017-11-24 北京金山安全软件有限公司 Generation method, device, server and storage medium of theme installation package
CN108055248A (en) * 2017-11-30 2018-05-18 平安科技(深圳)有限公司 Remote invocation method, server and storage medium based on dubbo frames
CN109034602A (en) * 2018-07-23 2018-12-18 北京中泰合信管理顾问有限公司 It is a kind of using process structure as the Discussion on domestic system management method of core

Also Published As

Publication number Publication date
CN109814872A (en) 2019-05-28

Similar Documents

Publication Publication Date Title
US11734091B2 (en) Ensuring thread affinity for interprocess communication in a managed code environment
US5790809A (en) Registry communications middleware
EP3837604B1 (en) In situ triggered function as a service within a service mesh
CN108270818B (en) Micro-service architecture system and access method thereof
US20100242020A1 (en) Sca-based system, and file parsing method and application generation method thereof
US8027817B2 (en) Simulation management within a grid infrastructure
KR100950212B1 (en) Software development system for testing mobile communications applications, method of arranging data transfer between software components in such system, data processing device comprising such system, and computer-readable storage medium embodying computer program for controlling such device
CN109814872B (en) max continuous deployment delivery platform and delivery method
KR20110065448A (en) Composing message processing pipelines
EP2450792B1 (en) Method for allowing distributed running of an application and related pre-processing unit
CN112698930B (en) Method, device, equipment and medium for obtaining server identification
EP2216962A1 (en) A method for deploying and managing the sip servlet application and the osgi service platform thereof
Putrycz et al. Using aspect oriented programming to build a portable load balancing service
Frei et al. A dynamic lightweight platform for ad-hoc infrastructures
US8327389B2 (en) Interface module
KR20180087901A (en) Integrated external interconnection system and method for web standard application development
US20060129662A1 (en) Method and apparatus for a service integration system
CN117076007B (en) Method and device for reducing intrusion of middle platform architecture codes and middle platform system
Berbers et al. CoConES: An approach for components and contracts in embedded systems
Falcarin et al. An Aspect-Oriented Approach for Dynamic Monitoring of a Service Logic Execution Environment
Cipolla et al. Web service based asynchronous service execution environment
Frei et al. A dynamic lightweight architecture for ad-hoc infrastructures
CN116319983A (en) Middleware for service communication
CN114625363A (en) Vehicle UI service separation design method and vehicle UI service separation framework
Stathopoulos et al. A middleware service for employing and evaluating resource management algorithms in distributed networks

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
GR01 Patent grant
GR01 Patent grant