CN112527376A - Method for realizing DevOps automation based on reverse proxy service - Google Patents

Method for realizing DevOps automation based on reverse proxy service Download PDF

Info

Publication number
CN112527376A
CN112527376A CN202011312503.4A CN202011312503A CN112527376A CN 112527376 A CN112527376 A CN 112527376A CN 202011312503 A CN202011312503 A CN 202011312503A CN 112527376 A CN112527376 A CN 112527376A
Authority
CN
China
Prior art keywords
service
devops
reverse proxy
url
continuous integration
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.)
Granted
Application number
CN202011312503.4A
Other languages
Chinese (zh)
Other versions
CN112527376B (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.)
Inspur Software Technology Co Ltd
Original Assignee
Inspur Software 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 Inspur Software Technology Co Ltd filed Critical Inspur Software Technology Co Ltd
Priority to CN202011312503.4A priority Critical patent/CN112527376B/en
Publication of CN112527376A publication Critical patent/CN112527376A/en
Application granted granted Critical
Publication of CN112527376B publication Critical patent/CN112527376B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a method for realizing DevOps automation based on reverse proxy service, which relates to the technical field of data interaction; the method includes the steps that a reverse proxy service is utilized, a URL requested by a Git warehouse interactive process is intercepted in a DevOps continuous integration process, cooperative processing service operation is executed aiming at the intercepted URL, a Jenkins service of DevOps continuous integration is configured, a tool set for rapidly building a DevOps continuous integration construction environment can be provided for subsequent rapid installation, and automation is achieved by intercepting specific service application cooperative operation in a non-invasive source code mode and utilizing a reverse proxy technology.

Description

Method for realizing DevOps automation based on reverse proxy service
Technical Field
The invention discloses a method, relates to the technical field of data interaction, and particularly relates to a method for realizing DevOps automation based on reverse proxy service.
Background
Operators demand better reliability and security, developers want the infrastructure to respond faster, and business users demand faster to distribute more features to end users for use. And the introduction of DevOps can have profound effects on product delivery, testing, functional development and maintenance. But the DevOps continuous integration service cannot be fully automated at present, and a convenient way and condition are not provided for users to rapidly build and use the DevOps environment.
Disclosure of Invention
The invention provides a method for realizing DevOps automation based on reverse proxy service, and relates to virtualization of DevOps, cloud computing infrastructure (Docker) and data center automation configuration management. The automation of the DevOps continuous integration service is realized based on a reverse proxy technology, a convenient mode and condition are provided for a user to quickly build and use a DevOps environment, a mechanism for uniformly and normatively processing interactive data on a certain level is provided, and query and configuration management interface service is provided based on a RESTful API.
The specific scheme provided by the invention is as follows:
a method for realizing DevOps automation based on reverse proxy service comprises the following steps: and intercepting the URL requested by the Git warehouse interactive process in the DevOps continuous integration process by using reverse proxy service, executing cooperative processing service operation aiming at the intercepted URL, configuring the Jenkins service of DevOps continuous integration, and realizing the automation of the DevOps continuous integration process.
Preferably, the method sets a service source, creates a reverse proxy service object, and executes a reverse proxy service to intercept the URL requested by the Git warehouse interactive process.
Preferably, in the method, the reverse proxy service object registers service for the user, intercepts a corresponding URL, and executes a configuration access token for subsequent cooperative processing service operation of the related authorization configuration.
Preferably, in the method, the reverse proxy service object is used for creating warehouse service, intercepting a corresponding URL, executing a cooperative processing service operation of configuring a Git warehouse and submitting an application service hook webhook, and creating a cooperative processing service operation corresponding to a Jenkins persistent integration task Job based on a specific template.
Preferably, in the method, the reverse proxy service object serves a derived specified repository, intercepts a corresponding URL, executes a cooperative processing service operation of configuring a Git repository to submit an application service hook webhook, and creates a cooperative processing service operation corresponding to Jenkins persistent integration task Job b based on a specific template.
Preferably, in the method, the reverse proxy service object is a cooperative processing service operation configured to receive an application service hook request, intercept a corresponding URL, perform parsing and reconstruct a request body content, collect necessary information as metadata, and unify interactive data processing.
A system for realizing DevOps automation based on reverse proxy service comprises a proxy module, a coordination module and a configuration module,
the agent module intercepts URL requested by a Git warehouse interaction process in a DevOps continuous integration process by using reverse agent service, the cooperation module executes cooperation processing service operation aiming at the intercepted URL, the configuration module configures the Jenkins service of the DevOps continuous integration, and the modules cooperate to realize the automation of the DevOps continuous integration process.
An apparatus for realizing DevOps automation based on reverse proxy service, comprising: at least one memory and at least one processor;
the at least one memory to store a machine readable program;
the at least one processor is configured to invoke the machine readable program to execute the method for implementing DevOps automation based on reverse proxy service.
The invention has the advantages that:
the invention provides a method for realizing DevOps automation based on reverse proxy service, which comprises the steps of intercepting a URL (uniform resource locator) requested by a Git warehouse interactive process in a DevOps continuous integration process by utilizing the reverse proxy service, executing cooperative processing service operation aiming at the intercepted URL, configuring the Jenkins service of the DevOps continuous integration, improving and promoting virtualization of the DevOps and cloud computing infrastructure (Docker, Virtual Machine), and realizing data center and configuration management automation. Simplifying the operation steps of operation and maintenance personnel for building a DevOps continuous integration environment; the operation of a developer is simplified, and the automatic configuration of the DevOps continuous integration process is realized in a more direct mode; and operations such as storage of configuration, state management, query and the like can be further provided through RESTful API service, and unified specification of data interaction between components can be realized on a certain level.
Drawings
FIG. 1 is a schematic diagram of a reverse proxy process;
FIG. 2 is a schematic diagram of a DevOps persistent integration environment configuration;
FIG. 3 is a schematic diagram of an optimized DevOps persistent integration environment configuration in the present invention;
FIG. 4 is a schematic flow chart of the application of the method of the present invention.
Detailed Description
The present invention is further described below in conjunction with the following figures and specific examples so that those skilled in the art may better understand the present invention and practice it, but the examples are not intended to limit the present invention.
In computer networks, a reverse proxy service is one type of proxy service. The server side obtains resources from one or more groups of backend servers (such as Web servers) in the relationship according to the request of the client side, and then returns the resources to the client side, the client side only knows the IP address of the reverse proxy and does not know the existence of a server cluster behind the proxy server, and unlike the forward proxy, the reverse proxy is used as a proxy of the server side (such as the Web server) and is not the client side. Refer to fig. 1.
The invention provides a method for realizing DevOps automation based on reverse proxy service, which comprises the following steps: and intercepting the URL requested by the Git warehouse interactive process in the DevOps continuous integration process by using reverse proxy service, executing cooperative processing service operation aiming at the intercepted URL, configuring the Jenkins service of DevOps continuous integration, and realizing the automation of the DevOps continuous integration process.
The method of the invention realizes the automation of DevOps continuous integration service based on reverse proxy technology, provides convenient mode and condition for users to quickly build and use DevOps environment, simultaneously provides a mechanism for uniformly and standardly processing interactive data on a certain level, and can further provide services such as query, configuration management interface and the like by utilizing RESTful API.
In the general configuration process of the DevOps persistent integration environment, the DevOps persistent integration is divided into two stages: git warehouse services and Jenkins continue to build service configurations.
The DevOps two-phase main interaction process is defined:
a) git warehouse service configuration
i. Account registration
Code submission management, application authorization
Opening code warehouse, derived warehouse
Creating service trigger hook callback and configuring callback listening event;
b) jenkins service configuration
i. Creating and configuring a construction task;
collecting the function of continuously constructing the result.
Content items in the DevOps flow that must be participated in by the user:
c) git warehouse service configuration
i. Registration service
Creating and deriving repositories
d) Jenkins service configuration aspect (all without user participation)
i. Defining and generating prototype Job in a metadata mode;
calling back by a Git integrated hook, triggering the prototype Job through a code creation warehouse event, and creating a specific Job;
a persistent integration process definition file (. travis. yml) written by a user and submitted to the current code repository.
The above process can refer to fig. 2, and by using the method of the present invention, in some embodiments, based on reverse proxy service, the URL requested by the user in the Git warehouse interactive process is intercepted, and the cooperative processing action is added, so as to implement automation of configuring the DevOps flow, where the URL requested by the Git warehouse interactive process is intercepted, and the executable cooperative action is added, which can refer to table 1.
TABLE 1
Figure BDA0002790251720000051
After the interception service is combined with the cooperative action, the configuration process for DevOps continuous integration can be simplified, the dashed box in fig. 3 is selected as a user operation item simplified due to the cooperative operation in the user participation interaction flow, referring to fig. 3, compared with the previous operation steps of the DevOps continuous integration environment, by introducing interception and executing the cooperative operation, the previous operation needing user participation in the configuration aspect is significantly reduced.
For operation and maintenance personnel, after the fact that the Git warehouse service and the Jenkins continuous construction service are built, the developers are allowed to perform registration and login operations facing the Git warehouse service, and a series of basic configuration work such as subsequent application authorization, creation and configuration of service departure hooks and Jenkins continuous construction service configuration can be automatically achieved. The process of rapidly building a DevOps continuous integrated construction environment is realized, and a user can submit, obtain and self-define related configuration items through a RESTful API (application programming interface).
In the implementation process, the Go language can be used for supporting the reverse proxy: returning a revertproxy object through a NewSingleHostReversaProxy method, routing to a URL target address based on a specified protocol, a host and a path, and intercepting the URL, such as:
// setting up a service Source
u,_:=url.Parse("http://gogits:3000")
v/Create reverse proxy service object
reverseProxy:=httputil.NewSingleHostReverseProxy(u)
// implementing interception services
chainedProxy:=interceptActionByURL(reverseProxy, http.MethodPost,[]string{"/user/sign_up"},
func(resp http.ResponseWriter,req*http.Request,data[]byte) {...})
// configuration agent intercept service
Namely, intercepting a designated URL "/user/sign _ up" through a Go language code fragment by reverse proxy http:// golgits: 3000 service, performing a cooperative operation with respect to the intercepted service when a user requests a URL, and then continuing to perform the proxied actual service. The operation automation of the related flow of the DevOps continuous integrated configuration is realized in the form of non-invasive source code.
Meanwhile, the invention also provides a system for realizing DevOps automation based on reverse proxy service, which comprises a proxy module, a coordination module and a configuration module,
the agent module intercepts URL requested by a Git warehouse interaction process in a DevOps continuous integration process by using reverse agent service, the cooperation module executes cooperation processing service operation aiming at the intercepted URL, the configuration module configures the Jenkins service of the DevOps continuous integration, and the modules cooperate to realize the automation of the DevOps continuous integration process.
The information interaction, execution process and other contents between the modules in the system are based on the same concept as the method embodiment of the present invention, and specific contents can be referred to the description in the method embodiment of the present invention, and are not described herein again.
The invention also provides a device for realizing DevOps automation based on reverse proxy service, which comprises: at least one memory and at least one processor;
the at least one memory to store a machine readable program;
the at least one processor is configured to invoke the machine readable program to execute the method for implementing DevOps automation based on reverse proxy service.
The contents of information interaction, readable program process execution and the like of the processor in the device are based on the same concept as the method embodiment of the present invention, and specific contents can be referred to the description in the method embodiment of the present invention, and are not described herein again.
It should be noted that not all steps and modules in the processes and system and device structures in the preferred embodiments are required, and some steps or modules may be omitted according to actual needs. The execution order of the steps is not fixed and can be adjusted as required. The system structure described in the above embodiments may be a physical structure or a logical structure, that is, some modules may be implemented by the same physical entity, or some modules may be implemented by a plurality of physical entities, or some components in a plurality of independent devices may be implemented together.
The above-mentioned embodiments are merely preferred embodiments for fully illustrating the present invention, and the scope of the present invention is not limited thereto. The equivalent substitution or change made by the technical personnel in the technical field on the basis of the invention is all within the protection scope of the invention. The protection scope of the invention is subject to the claims.

Claims (8)

1. A method for realizing DevOps automation based on reverse proxy service is characterized in that the reverse proxy service is utilized, a URL requested by a Git warehouse interactive process is intercepted in a DevOps continuous integration process, a cooperative processing service operation is executed aiming at the intercepted URL, a Jenkins service of DevOps continuous integration is configured, and the automation of the DevOps continuous integration process is realized.
2. The method as claimed in claim 1, wherein setting up a service source, creating a reverse proxy service object, and performing a reverse proxy service to intercept the URL of the Git repository interaction procedure request.
3. The method as claimed in claim 2, wherein the reverse proxy service object registers the service for the user, intercepts the corresponding URL, and performs the configuration access token for the co-processing service operation of the subsequent associated authorization configuration.
4. A method according to claim 2 or 3, characterized in that the reverse proxy service object is a create repository service, intercepting the corresponding URL and performing the co-processing service operations of configuring the Git repository to submit the hook webhook of the application service, and creating the co-processing service operations of the corresponding Jenkins persistent integration task Job based on a specific template.
5. The method as claimed in claim 4, wherein the reverse proxy service object is a derived named repository service, intercepts the corresponding URL, and performs the co-processing service operation of configuring the Git repository to submit the application service hook webhook, and creates the co-processing service operation corresponding to Jenkins persistent integration task Job based on a specific template.
6. The method as claimed in claim 2 or 4, wherein the reverse proxy service object is a co-processing service operation configured to receive application service hook requests, intercept corresponding URLs, perform parsing and reconstructing request body contents, collect necessary information as metadata, and unify interactive data processing.
7. A system for realizing DevOps automation based on reverse proxy service is characterized in that the system comprises a proxy module, a coordination module and a configuration module,
the agent module intercepts URL requested by a Git warehouse interaction process in a DevOps continuous integration process by using reverse agent service, the cooperation module executes cooperation processing service operation aiming at the intercepted URL, the configuration module configures the Jenkins service of the DevOps continuous integration, and the modules cooperate to realize the automation of the DevOps continuous integration process.
8. A device for realizing DevOps automation based on reverse proxy service is characterized by comprising: at least one memory and at least one processor;
the at least one memory to store a machine readable program;
the at least one processor, configured to invoke the machine readable program, to execute the method of any one of claims 1 to 6 for implementing DevOps automation based on reverse proxy service.
CN202011312503.4A 2020-11-20 2020-11-20 Method for realizing DevOps automation based on reverse proxy service Active CN112527376B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011312503.4A CN112527376B (en) 2020-11-20 2020-11-20 Method for realizing DevOps automation based on reverse proxy service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011312503.4A CN112527376B (en) 2020-11-20 2020-11-20 Method for realizing DevOps automation based on reverse proxy service

Publications (2)

Publication Number Publication Date
CN112527376A true CN112527376A (en) 2021-03-19
CN112527376B CN112527376B (en) 2023-07-18

Family

ID=74982038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011312503.4A Active CN112527376B (en) 2020-11-20 2020-11-20 Method for realizing DevOps automation based on reverse proxy service

Country Status (1)

Country Link
CN (1) CN112527376B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992749A (en) * 2021-10-08 2022-01-28 浪潮云信息技术股份公司 Http reverse proxy method and system based on go language
CN116049582A (en) * 2023-03-31 2023-05-02 深圳依时货拉拉科技有限公司 WebView monitoring method, computer device and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180324204A1 (en) * 2017-05-08 2018-11-08 Datapipe, Inc. System and method for real-time asynchronous multitenant gateway security
CN110209398A (en) * 2019-06-04 2019-09-06 浪潮软件集团有限公司 A kind of method that DevOps carries out continuous integrating service based on agreement
CN110297627A (en) * 2019-07-01 2019-10-01 四川长虹电器股份有限公司 A kind of front-end code automation continuous integrating method based on gitlab-ci
CN110321152A (en) * 2019-07-04 2019-10-11 青岛华正信息技术股份有限公司 A kind of Software Development Platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180324204A1 (en) * 2017-05-08 2018-11-08 Datapipe, Inc. System and method for real-time asynchronous multitenant gateway security
CN110209398A (en) * 2019-06-04 2019-09-06 浪潮软件集团有限公司 A kind of method that DevOps carries out continuous integrating service based on agreement
CN110297627A (en) * 2019-07-01 2019-10-01 四川长虹电器股份有限公司 A kind of front-end code automation continuous integrating method based on gitlab-ci
CN110321152A (en) * 2019-07-04 2019-10-11 青岛华正信息技术股份有限公司 A kind of Software Development Platform

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丁海斌;崔隽;陆凯;: "基于Docker的DevOps系统设计与实现", 指挥信息系统与技术, no. 03, pages 91 - 96 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992749A (en) * 2021-10-08 2022-01-28 浪潮云信息技术股份公司 Http reverse proxy method and system based on go language
CN113992749B (en) * 2021-10-08 2024-05-14 浪潮云信息技术股份公司 Http reverse proxy method and system based on go language
CN116049582A (en) * 2023-03-31 2023-05-02 深圳依时货拉拉科技有限公司 WebView monitoring method, computer device and computer readable storage medium
CN116049582B (en) * 2023-03-31 2023-07-04 深圳依时货拉拉科技有限公司 WebView monitoring method, computer device and computer readable storage medium

Also Published As

Publication number Publication date
CN112527376B (en) 2023-07-18

Similar Documents

Publication Publication Date Title
CN107743616B (en) Endpoint management system providing application programming interface proxy services
US20190108061A1 (en) Remote Management of Distributed Datacenters
US11477298B2 (en) Offline client replay and sync
EP3837604B1 (en) In situ triggered function as a service within a service mesh
CN111277432B (en) Configuration information updating method and device, electronic equipment and storage medium
JP3853593B2 (en) Method and apparatus for implementing an extensible authentication mechanism in a web application server
US11436066B2 (en) System for offline object based storage and mocking of rest responses
WO2007075846A2 (en) Method and system for providing virtualized application workspaces
US20150188999A1 (en) System and method to extend the capabilities of a web browser to improve the web application performance
CN112527376B (en) Method for realizing DevOps automation based on reverse proxy service
CN112751847A (en) Interface call request processing method and device, electronic equipment and storage medium
CN111083113A (en) Mimicry distribution system, method and medium
JP2013080404A (en) System, computer, method, and program which call java method on client
US20240303293A1 (en) System and method for delivering application metadata
Butler et al. Components and interfaces of a process management system for parallel programs
CN112491940B (en) Request forwarding method and device of proxy server, storage medium and electronic equipment
US9742818B2 (en) Pushing events to web pages used for interaction with applications
US20230007081A1 (en) Data Object Delivery for Distributed Cluster Computing
CN110933145A (en) Remote scheduling method, device, equipment and medium
CN108347471B (en) Method, device and system for acquiring third-party user information
US11258860B2 (en) System and method for bot detection and classification
CN113946614A (en) iOS (Internet operating System) static library-based network data transmission method, device and system
CN113779122A (en) Method and apparatus for exporting data
CN111078736A (en) Data aggregation processing method and device, terminal and storage medium
US11856048B2 (en) System and method for deferring data retrieval

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