CN116719557B - Rancher-based automatic application release method, system and tool - Google Patents

Rancher-based automatic application release method, system and tool Download PDF

Info

Publication number
CN116719557B
CN116719557B CN202310993397.8A CN202310993397A CN116719557B CN 116719557 B CN116719557 B CN 116719557B CN 202310993397 A CN202310993397 A CN 202310993397A CN 116719557 B CN116719557 B CN 116719557B
Authority
CN
China
Prior art keywords
interface
application
calling
rancher
tool
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
CN202310993397.8A
Other languages
Chinese (zh)
Other versions
CN116719557A (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.)
Shandong Inspur Digital Business Technology Co Ltd
Original Assignee
Shandong Inspur Digital Business 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 Shandong Inspur Digital Business Technology Co Ltd filed Critical Shandong Inspur Digital Business Technology Co Ltd
Priority to CN202310993397.8A priority Critical patent/CN116719557B/en
Publication of CN116719557A publication Critical patent/CN116719557A/en
Application granted granted Critical
Publication of CN116719557B publication Critical patent/CN116719557B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses an application automation release method, system and tool based on Rancher, belonging to the technical field of application software release and deployment, wherein the implementation process of the method comprises the following steps: acquiring an event log, storing the event log in a tool database, and sending a notification to related personnel; automatically calling a construction tool to construct codes according to the event content, providing a manual auditing mechanism, and recording the construction result of the calling automatic construction tool; after the code construction is completed, a notification is sent through an interface, a calling module receives and collects parameter record logs in the notification and sends the notification to related personnel, whether to enter an auditing flow is judged according to whether auditing is needed, and then a Rancher interface is called; the interface is set to call a compensation mechanism, and the interface is automatically retried or replaced by a backup scheme when the call fails. The invention realizes the automatic deployment of the application, reduces the labor cost in the enterprise release process and improves the online speed of the application.

Description

Rancher-based automatic application release method, system and tool
Technical Field
The invention relates to the technical field of application software release and deployment, in particular to an application automation release method, an application automation release system and an application automation release tool based on Rancher.
Background
The importance of automated release systems is self-evident in software development and continuous integration/continuous delivery (CI/CD) processes. The existing automatic release tool basically needs a large amount of time for the related personnel to learn, so that the labor and the cost are too much for small and medium enterprises, and the existing automatic release process and tool can normally operate only through maintenance of a professional middle and large team. At present, all middle and large-sized companies are also pushing out automatic release flows and tools, but the flows and tools released by the companies are generally deeply bound with the cloud platform of the companies, are extremely heavy and cannot be used by the middle and small-sized companies simply in an off-line mode.
The existing automated release technology includes:
continuous integration and continuous delivery tool: jenkins, trap CI, circlecI, gitLab CI/CD, teamCity and other tools provide automated building, testing and deployment functions, supporting various programming languages and development environments.
Configuration management tool: ansible, chef, puppet and SaltStack, etc., can automatically manage and configure servers, applications and environments, ensuring consistency and repeatability of the system.
Deployment tool: ansible, capistrano, octopus deviloy, etc., can automatically Deploy applications to a target environment, such as a server, cloud platform, or container cluster.
Although the tools are powerful, many tools need to regularly participate in course study, the operation is extremely complex, medium and large teams are required to use and maintain, and the flexibility is poor. In order to make the tools more powerful, many of the tools support scripting languages, but the scripting languages are basically customized by each software, are not universal, and are too high for middle and small-sized companies to learn.
Disclosure of Invention
The technical task of the invention is to provide the method, the system and the tool for automatically releasing the application based on Rancher aiming at the defects, so that the automatic deployment of the application can be realized, the labor cost in the enterprise release process is reduced, and the online speed of the application is improved.
The technical scheme adopted for solving the technical problems is as follows:
an application automation release method based on Rancher, the implementation process of the method comprises the following steps:
(1) Acquiring an event log, storing the event log in a tool database, and sending a notification to related personnel; automatically calling a construction tool to construct codes according to the event content, providing a manual auditing mechanism, and recording the construction result of the calling automatic construction tool;
(2) After the code construction is completed, a notification is sent through an interface, a calling module receives and collects parameter record logs in the notification and sends the notification to related personnel, whether to enter an auditing process is judged according to whether auditing is needed, and then a Rancher interface is called;
(3) The Rancher interface calling process is as follows:
s01, calling and acquiring configuration information of a current application;
s02, changing the version number of the configuration information mirror image address of the application into the version number of the current iteration;
s03, calling a deployment interface, transmitting the latest configuration information and publishing the application;
(4) Calling a compensation mechanism through a set interface, and automatically retrying or replacing through a backup scheme when the calling fails, wherein the method comprises the following steps: automatically performing multiple retries when the interface call fails until the interface call succeeds; setting time limit, completing interface calling operation in a specified time, otherwise, considering operation failure.
The method realizes the automatic deployment of the application by means of a container arrangement interface provided by Rancher. The implementation of the automatic release method is different from most of methods in the market, the implementation is not realized by calling a bottom layer interface, is not realized based on yaml configuration files, but is realized by calling a powerful Rancher interface by means of Rancher, so that the compatibility of the bottom layer is processed by the Rancher. Tool compatibility can be stronger and the tool is also more stable.
Preferably, the event log is obtained by setting a code change event receiving interface; the code change event receiving interface supports popular code collaboration tools git, svn and the like; the code change event receiving interface provides both synchronous and asynchronous processing modes, which may be mediated by a rubbitmq or a dockmq message middleware.
Preferably, the manual auditing mechanism can be used for manually auditing the intervention codes.
Preferably, the notification is sent by setting up a build tool event receiving interface that provides both synchronous and asynchronous processing modes.
Preferably, the call compensation mechanism automatically performs multiple retries when the interface call fails, and increases delay time in the retries to prevent the server from being overloaded.
Preferably, the implementation of the method further comprises version configuration management, application versioning and selectively publishing the application program of a specific version through version control;
the version of each iterative application is set in advance, and the iterative version of the application is managed.
Each application version has a unique identifier that can be used to track and manage the different versions of the application. This enables a development team to easily track and manage the change history of an application, including functional augmentation, bug fixes, performance improvements, and the like. Application versioning enables release and rollback of applications to be more flexible, and by virtue of version control, a development team can selectively release specific versions of applications without affecting other versions under development or testing; if a problem arises or a rollback to a previous version is required, a quick rollback to the previous version is possible, thereby reducing the potential risk.
Preferably, the implementation of the method further comprises release time setting, which is used for setting each iteration time period and version release construction time;
version construction time can be set uniformly, and automatic release construction can be realized according to code submission time.
Preferably, the application A grants the token through the Rancher platform: l6zp6s5t7t8 kggpppddwjfhdnz 2kcgk95s7kv22chz vk6ctft9xzsx;
the Rancher interface call procedure is as follows:
s1, calling and acquiring configuration information of current A application
An interface: https:// domain/project/clusterId/workloads/depoyment: namespace: A
Wherein, domain: the domain name address (dns) is used,
clusterId: the cluster identity Id, i.e. the Id in Rancher that identifies the cluster, the cluster address to which the a application belongs,
namespace: a name space, wherein A is an application belonging name space;
s2, changing the version number of the configuration information mirror image address of the application A into the version number of the current iteration;
s3, calling a deployment interface, transmitting the latest configuration information and publishing the application
An interface: https:// domain/project/clusterId/workloads/depoyment: nalespace: aation = replo y.
The invention also claims an application automation release system based on Rancher, which comprises a tool code change event receiving interface, a construction tool event receiving interface, a version configuration management module, a release time setting module, a Rancher interface calling module and an interface calling compensation module,
the tool code changes the event receiving interface, acquires the event log, saves the event log in the tool database, and sends a notification to related personnel; automatically calling a construction tool to construct codes according to the event content, providing a manual auditing mechanism, and recording the construction result of the calling automatic construction tool;
constructing a tool event receiving interface, receiving and collecting parameter record logs in the notification and sending the notification to related personnel; judging whether to enter an auditing flow according to whether auditing is needed, and then calling a Rancher interface;
the version configuration management module is used for selectively publishing the application program of a specific version through version control;
the release time setting module is used for setting each iteration time period and version release construction time;
the Rancher interface calling module comprises:
s01, calling and acquiring configuration information of a current application;
s02, changing the version number of the configuration information mirror image address of the application into the version number of the current iteration;
s03, calling a deployment interface, transmitting the latest configuration information and publishing the application;
the interface calls the compensation module, and when the call fails, the interface automatically retries or is replaced by a backup scheme, and the interface comprises: automatically performing multiple retries when the interface call fails until the interface call succeeds; setting time limit, completing interface calling operation in a specified time, otherwise, considering operation failure.
The invention also claims an application automation release tool based on Rancher, which carries out code construction by calling an automation construction tool and finally realizes application release by calling an Rancher interface;
the tool realizes automatic application release by the Rancher-based automatic application release method.
Compared with the prior art, the Rancher-based application automatic release method, system and tool have the following beneficial effects:
the method uses a code management tool for collaborative development, and integrates a code base with a construction tool. When the code is changed, a construction tool is automatically triggered to construct the application according to the notification, and the application is automatically released through Rancher interface call after the construction is completed. The release process can be added with a manual auditing node, only the version passing the auditing can be released into the production environment, and the auditing introduction can greatly ensure the accuracy and reliability of the application release process and can effectively prevent production accidents.
Drawings
FIG. 1 is a flowchart of an implementation of a Rancher-based application automation publishing method according to one embodiment of the present invention;
FIG. 2 is a logic diagram of a code change event receiving interface provided by one embodiment of the present invention;
FIG. 3 is a logic diagram of a build tool event receiving interface provided by one embodiment of the present invention;
FIG. 4 is an exemplary diagram of iteration and publication time settings provided by one embodiment of the present invention;
FIG. 5 is a diagram of a Rancher interface call process provided by one embodiment of the invention.
Detailed Description
The invention will be further illustrated with reference to specific examples.
The embodiment of the invention provides an application automation release method based on Rancher, which is shown by referring to FIG. 1, and comprises the following implementation processes:
(1) Acquiring an event log, storing the event log in a tool database, and sending a notification to related personnel; automatically calling a construction tool to construct codes according to the event content, providing a manual auditing mechanism, and recording the construction result of the calling automatic construction tool;
(2) After the code construction is completed, a notification is sent through an interface, a calling module receives and collects parameter record logs in the notification and sends the notification to related personnel, whether to enter an auditing process is judged according to whether auditing is needed, and then a Rancher interface is called;
(3) Version configuration management, namely versioning the application and selectively releasing the application program with a specific version through version control; setting the version of each iteration application in advance, and managing the application iteration version;
(4) The release time setting is used for setting each iteration time period and version release construction time;
(5) The Rancher interface calling process is as follows:
s01, calling and acquiring configuration information of a current application;
s02, changing the version number of the configuration information mirror image address of the application into the version number of the current iteration;
s03, calling a deployment interface, transmitting the latest configuration information and publishing the application;
(6) Calling a compensation mechanism through a set interface, and automatically retrying or replacing through a backup scheme when the calling fails, wherein the method comprises the following steps: automatically performing multiple retries when the interface call fails until the interface call succeeds; setting time limit, completing interface calling operation in a specified time, otherwise, considering operation failure.
The method comprises the steps of obtaining an event log through setting a code change event receiving interface; the code change event receiving interface supports popular code collaboration tools git, svn and the like; the code change event receiving interface stores the event log in the tool database and sends a notification to the relevant personnel. The calling module can automatically call the construction tool to carry out code construction according to the event content, and meanwhile, a manual auditing mechanism is provided, so that the code auditing can be manually intervened.
The code change event receiving interface provides both synchronous and asynchronous processing capabilities. Asynchronous processing capabilities may be interposed with the rubbitmq or the dockmq message middleware. The code change event receiving interface records the construction result of the call automation construction tool, and the success or failure of the call is notified to related personnel in a message mode. The system may set an auto-compensation mechanism and configure a compensation retry strategy.
A code change event receiving interface logic process diagram is shown in fig. 2.
The notification is sent by setting up a build tool event receiving interface that provides both synchronous and asynchronous processing modes.
After the construction tool such as jenkins is constructed, a construction tool event receiving interface can be called to send a notification to a calling module, and the calling module receives and collects parameter record logs in the notification and sends the notification to related personnel, and judges whether to enter an auditing flow according to whether auditing is needed. Similar to the code change event receiving interface capabilities, the build tool event receiving interface provides both synchronous and asynchronous processing modes and a compensation retry mechanism.
A schematic diagram of the build tool event receiving interface logic process is shown in fig. 3.
The version configuration management, scheduling module can apply version in batch, and the application version provides version control capability of application program. Each application version has a unique identifier that can be used to track and manage the different versions of the application. This enables a development team to easily track and manage the change history of an application, including functional augmentation, bug fixes, performance improvements, and the like. Application versioning enables release and rollback of applications to be more flexible, and by virtue of version control, a development team can selectively release specific versions of applications without affecting other versions under development or testing; if a problem arises or a rollback to a previous version is required, a quick rollback to the previous version is possible, thereby reducing the potential risk.
The release time setting can flexibly set each iteration time period and version release construction time; version construction time can be set uniformly, and automatic release construction can be realized according to code submission time. As shown in fig. 4.
The Rancher interface is called, and the Rancher provides a powerful API, so that a user can interact and manage with the Rancher in a programming mode. The Rancher API allows developers to perform various operations by sending HTTP requests, including operations to create and manage clusters, applications, services, containers, and other Rancher resources. If the A application issued token through Rancher platform authorization: l6zp6s5t7t8 kggpppddwjfhdnz 2kcgk95s7kv22chz vk6ctft9xzsx;
the Rancher interface call procedure is as follows:
s1, calling and acquiring configuration information of current A application
An interface: https:// domain/project/clusterId/workloads/depoyment: namespace: A
Wherein, domain: the domain name address (dns) is used,
clusterId: the cluster identity Id, i.e. the Id in Rancher that identifies the cluster, the cluster address to which the a application belongs,
namespace: a name space, wherein A is an application belonging name space;
s2, changing the version number of the configuration information mirror image address of the application A into the version number of the current iteration;
s3, calling a deployment interface, transmitting the latest configuration information and publishing the application
An interface: https:// domain/project/clusterId/workloads/depoyment: nalespace: aation = replo y.
The Rancher interface call procedure is shown in FIG. 5.
The interface calls the compensation mechanism, and when the system or the service calls, due to various reasons such as network fluctuation, hardware error and the like, call failure, overtime or error can occur, so that the interface call compensation mechanism is usually required to be used for ensuring the reliability and the efficiency of the call, and the main purpose is to automatically retry or replace by a backup scheme when the call fails.
Retry mechanism: multiple retries are automatically performed when the interface call fails until successful. An appropriate delay time may be added during the retry to prevent server overload.
Timeout mechanism: and setting a reasonable time limit, completing interface calling operation within a specified time, and otherwise, considering operation failure. Multiple attempts and retries may be made before a timeout.
The interface call compensation mechanism can enable the call tool to have fault tolerance, so that the release process can run more stably and efficiently, and the user experience is improved.
The method realizes the automatic deployment of the application by means of a container arrangement interface provided by Rancher. The implementation of the automatic release method is different from most of methods in the market, the implementation is not realized by calling a bottom layer interface, is not realized based on yaml configuration files, but is realized by calling a powerful Rancher interface by means of Rancher, so that the compatibility of the bottom layer is processed by the Rancher. Compatibility is stronger and also more stable.
The manual auditing mechanism is provided before construction and release, and a responsible person can manually audit construction and release after receiving the message, so that construction and release quality is ensured, and production accidents are reduced. Code change event receiving interfaces and build tool event receiving interfaces are provided that enable completion of send notifications, logging, manual audit capabilities. To ensure reliability and efficiency of calls, a compensation mechanism is provided, which includes: retry mechanisms and timeout mechanisms.
The automatic release method is adopted by the company in 2022 in 5 months, and is faster than the traditional development, deployment and online time by 1/3. Because the release process starts an auditing mechanism, a responsible person carries out auditing and management on the version, the production accident is greatly reduced, the labor cost in the enterprise release process is reduced, and the application line-up speed is improved.
The embodiment of the invention also provides an application automation release system based on Rancher, which comprises a tool code change event receiving interface, a construction tool event receiving interface, a version configuration management module, a release time setting module, a Rancher interface calling module and an interface calling compensation module,
the tool code change event receiving interface supports popular code collaboration tools git and svn, stores the acquired event logs into a tool database and sends notification to related personnel; the calling module automatically calls the construction tool to carry out code construction according to the event content, simultaneously provides a manual auditing mechanism and records the construction result of the calling automatic construction tool;
the code change event receiving interface provides both synchronous and asynchronous processing capabilities. Asynchronous processing capabilities may be interposed with the rubbitmq or the dockmq message middleware. The code change event receiving interface records the construction result of the call automation construction tool, and the success or failure of the call is notified to related personnel in a message mode. The system may set an auto-compensation mechanism and configure a compensation retry strategy.
The system comprises a construction tool event receiving interface, a construction tool, a parameter record log and a parameter record log, wherein the construction tool event receiving interface can be called to send a notification after construction of a construction tool such as jenkins is completed, and a calling module of the construction tool event receiving interface receives and collects the parameter record log in the notification and sends the notification to related personnel; judging whether to enter an auditing flow according to whether auditing is needed, and then calling a Rancher interface. Similar to the code change event receiving interface capabilities, the build tool event receiving interface provides both synchronous and asynchronous processing modes and a compensation retry mechanism.
The version configuration management module is used for selectively releasing the application program of a specific version through version control without affecting other versions under development or testing; if a problem arises or a rollback to a previous version is required, a quick rollback to the previous version is possible, thereby reducing the potential risk. The version of each iteration application can be set in advance, and the iteration version of the application can be easily managed.
The release time setting module is used for setting each iteration time period and version release construction time; version construction time can be set uniformly, and automatic release construction can be realized according to code submission time.
The Rancher interface calling module comprises:
s01, calling and acquiring configuration information of a current application;
s02, changing the version number of the configuration information mirror image address of the application into the version number of the current iteration;
s03, calling a deployment interface, transmitting the latest configuration information and publishing the application;
let A application issue token through Rancher platform authorization: l6zp6s5t7t8 kggpppddwjfhdnz 2kcgk95s7kv22chz vk6ctft9xzsx;
the Rancher interface call procedure is as follows:
s1, calling and acquiring configuration information of current A application
An interface: https:// domain/project/clusterId/workloads/depoyment: namespace: A
Wherein, domain: the domain name address (dns) is used,
clusterId: the cluster identity Id, i.e. the Id in Rancher that identifies the cluster, the cluster address to which the a application belongs,
namespace: a name space, wherein A is an application belonging name space;
s2, changing the version number of the configuration information mirror image address of the application A into the version number of the current iteration;
s3, calling a deployment interface, transmitting the latest configuration information and publishing the application
An interface: https:// domain/project/clusterId/workloads/depoyment: nalespace: aation = replo y.
The interface calls the compensation module, and when the call fails, the interface automatically retries or is replaced by a backup scheme, and the interface comprises:
retry mechanism: automatically performing multiple retries when the interface call fails until the interface call succeeds; an appropriate delay time may be added during the retry to prevent server overload.
Timeout mechanism: and setting a reasonable time limit, completing interface calling operation within a specified time, and otherwise, considering operation failure. Multiple attempts and retries may be made before a timeout.
The embodiment of the invention also provides an application automation release tool based on Rancher, which carries out code construction by calling an automation construction tool and finally realizes application release by calling an Rancher interface;
the tool realizes automatic release of the application by the automatic release method of the application based on Rancher.
The present invention can be easily implemented by those skilled in the art through the above specific embodiments. It should be understood that the invention is not limited to the particular embodiments described above. Based on the disclosed embodiments, a person skilled in the art may combine different technical features at will, so as to implement different technical solutions.
Other than the technical features described in the specification, all are known to those skilled in the art.

Claims (10)

1. The automatic application release method based on Rancher is characterized by comprising the following steps:
(1) Acquiring an event log, storing the event log in a tool database, and sending a notification to related personnel; automatically calling a construction tool to construct codes according to the event content, providing a manual auditing mechanism, and recording the construction result of the calling automatic construction tool;
(2) After the code construction is completed, a notification is sent through an interface, a calling module receives and collects parameter record logs in the notification and sends the notification to related personnel, whether to enter an auditing process is judged according to whether auditing is needed, and then a Rancher interface is called;
(3) The Rancher interface calling process is as follows:
s01, calling and acquiring configuration information of a current application;
s02, changing the version number of the configuration information mirror image address of the application into the version number of the current iteration;
s03, calling a deployment interface, transmitting the latest configuration information and publishing the application;
(4) Calling a compensation mechanism through a set interface, and automatically retrying or replacing through a backup scheme when the calling fails, wherein the method comprises the following steps: automatically performing multiple retries when the interface call fails until the interface call succeeds; setting time limit, completing interface calling operation in a specified time, otherwise, considering operation failure.
2. The Rancher-based application automation publishing method of claim 1, wherein the event log is obtained by setting a code change event receiving interface; the code change event receiving interface provides both synchronous and asynchronous processing modes.
3. The Rancher-based application automation release method of claim 2, wherein the manual auditing mechanism is a manual intervention code auditing.
4. A Rancher-based application automation publishing method as claimed in claim 1, 2 or 3, characterized in that the notification is sent by setting up a build tool event receiving interface, which provides both synchronous and asynchronous handling.
5. The Rancher-based application automation publishing method of claim 4, wherein the invoking the compensation mechanism automatically performs multiple retries when an interface invocation fails, increasing a delay time during the retries.
6. The Rancher-based application automation publishing method of claim 1, wherein the implementation of the method further comprises version configuration management, versioning the application, and selectively publishing a specific version of the application program through version control;
the version of each iterative application is set in advance, and the iterative version of the application is managed.
7. The Rancher-based application automation publication method of claim 1 or 6, wherein the implementation of the method further comprises a publication time setting for setting each iteration time period and version publication construction time;
the version construction time is set uniformly, or automatic release construction is realized according to code submission time.
8. The method for automatically publishing applications based on Rancher according to claim 1, wherein if the application A grants the token through the Rancher platform authorization, the Rancher interface calling process is as follows:
s1, calling and acquiring configuration information of current A application
The interface information comprises: domain name address, cluster address to which application A belongs, name space to which application A belongs;
s2, changing the version number of the configuration information mirror image address of the application A into the version number of the current iteration;
s3, calling a deployment interface, transmitting the latest configuration information and publishing the application.
9. The Rancher-based application automation release system is characterized by comprising a tool code change event receiving interface, a construction tool event receiving interface, a version configuration management module, a release time setting module, a Rancher interface calling module and an interface calling compensation module,
the tool code changes the event receiving interface, acquires the event log, saves the event log in the tool database, and sends a notification to related personnel; automatically calling a construction tool to construct codes according to the event content, providing a manual auditing mechanism, and recording the construction result of the calling automatic construction tool;
constructing a tool event receiving interface, receiving and collecting parameter record logs in the notification and sending the notification to related personnel; judging whether to enter an auditing flow according to whether auditing is needed, and then calling a Rancher interface;
the version configuration management module is used for selectively publishing the application program of a specific version through version control;
the release time setting module is used for setting each iteration time period and version release construction time;
the Rancher interface calling module comprises:
s01, calling and acquiring configuration information of a current application;
s02, changing the version number of the configuration information mirror image address of the application into the version number of the current iteration;
s03, calling a deployment interface, transmitting the latest configuration information and publishing the application;
the interface calls the compensation module, and when the call fails, the interface automatically retries or is replaced by a backup scheme, and the interface comprises: automatically performing multiple retries when the interface call fails until the interface call succeeds; setting time limit, completing interface calling operation in a specified time, otherwise, considering operation failure.
10. The automatic application release tool based on Rancher is characterized in that the tool carries out code construction by calling an automatic construction tool and finally realizes application release by calling an Rancher interface;
the tool enables application automation release, in particular by the method of any of claims 1 to 8.
CN202310993397.8A 2023-08-09 2023-08-09 Rancher-based automatic application release method, system and tool Active CN116719557B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310993397.8A CN116719557B (en) 2023-08-09 2023-08-09 Rancher-based automatic application release method, system and tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310993397.8A CN116719557B (en) 2023-08-09 2023-08-09 Rancher-based automatic application release method, system and tool

Publications (2)

Publication Number Publication Date
CN116719557A CN116719557A (en) 2023-09-08
CN116719557B true CN116719557B (en) 2023-11-24

Family

ID=87864716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310993397.8A Active CN116719557B (en) 2023-08-09 2023-08-09 Rancher-based automatic application release method, system and tool

Country Status (1)

Country Link
CN (1) CN116719557B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677315B1 (en) * 2011-09-26 2014-03-18 Amazon Technologies, Inc. Continuous deployment system for software development
CN106708509A (en) * 2016-11-28 2017-05-24 上海宝尊电子商务有限公司 Automatic software project development all-link configuration management system
CA3159788A1 (en) * 2019-11-06 2021-05-14 10353744 Canada Ltd. Version releasing method and device based on multi-environment offline task
CN113741958A (en) * 2021-09-03 2021-12-03 科讯嘉联信息技术有限公司 Software development and delivery method and system based on cloud-native
WO2022037690A1 (en) * 2020-08-20 2022-02-24 第四范式(北京)技术有限公司 Application construction system, method and platform, and application publication system, method and platform
CN114721809A (en) * 2020-12-21 2022-07-08 航天信息股份有限公司 Application deployment method and device of kubernets cluster
CN116400950A (en) * 2023-03-23 2023-07-07 上海沄熹科技有限公司 DevOps element pipeline system based on version control

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10719423B2 (en) * 2017-07-12 2020-07-21 Futurewei Technologies, Inc. Apparatus and method for application deployment assessment
US11232189B2 (en) * 2018-07-06 2022-01-25 Cognizant Technology Solutions India Pvt. Ltd. System and method for tracking and authenticating code transition during phases of development and deployment
US11561835B2 (en) * 2019-05-31 2023-01-24 Hewlett Packard Enterprise Development Lp Unified container orchestration controller
US11693647B2 (en) * 2021-10-29 2023-07-04 Capital One Services, Llc Deployment of new versions of event consumers in an event-driven system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677315B1 (en) * 2011-09-26 2014-03-18 Amazon Technologies, Inc. Continuous deployment system for software development
CN106708509A (en) * 2016-11-28 2017-05-24 上海宝尊电子商务有限公司 Automatic software project development all-link configuration management system
CA3159788A1 (en) * 2019-11-06 2021-05-14 10353744 Canada Ltd. Version releasing method and device based on multi-environment offline task
WO2022037690A1 (en) * 2020-08-20 2022-02-24 第四范式(北京)技术有限公司 Application construction system, method and platform, and application publication system, method and platform
CN114721809A (en) * 2020-12-21 2022-07-08 航天信息股份有限公司 Application deployment method and device of kubernets cluster
CN113741958A (en) * 2021-09-03 2021-12-03 科讯嘉联信息技术有限公司 Software development and delivery method and system based on cloud-native
CN116400950A (en) * 2023-03-23 2023-07-07 上海沄熹科技有限公司 DevOps element pipeline system based on version control

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Knowledge in Practice: Documenting Rancher Local Knowledge in Northwest Colorado;Corrine Noel Knapp 等;《Rangeland Ecology & Management》;全文 *
基于Jenkins的持续集成系统研究;陈迪;;电子测试(第08期);全文 *
基于源代码持续集成的研发项目管理应用研究;孙恒一;段琳;;数字技术与应用(第12期);全文 *

Also Published As

Publication number Publication date
CN116719557A (en) 2023-09-08

Similar Documents

Publication Publication Date Title
CN109542639B (en) Processing method and processing device for guaranteeing consistency of microservice calling data
CN107229520B (en) Data center operating system
US8788565B2 (en) Dynamic and distributed queueing and processing system
US9229707B2 (en) Zero downtime mechanism for software upgrade of a distributed computer system
CN106844198B (en) Distributed dispatching automation test platform and method
US7051092B2 (en) Request scheduler for automated software configuration
CN107038089B (en) Method and system for supporting high availability of orchestrated services
US10050900B2 (en) Methods and systems for allocating and provisioning computing resources
US20200319982A1 (en) Notification mechanism for disaster recovery events
US20080115123A1 (en) Assisted migration in a data processing environment
WO2011088414A2 (en) Systems and methods for per-action compiling in contact handling systems
WO2016197346A1 (en) Method and apparatus for managing life circle of virtualized network function
CA2789393A1 (en) Method, computer program product and computer-readable storage medium for the generic creation of a structure tree for describing an it process
US9823999B2 (en) Program lifecycle testing
CN116719557B (en) Rancher-based automatic application release method, system and tool
US10169259B2 (en) Pattern-based service bus architecture using activity-oriented services
CN110737510A (en) Block device management system
CN109547534B (en) Method for assisting distributed B/S architecture to realize automatic online upgrade of system
CN111858232A (en) Information interaction system and method based on DevOps platform
US20220321567A1 (en) Context Tracking Across a Data Management Platform
Cisco WSA Control System Command Information
CN112114954A (en) Job scheduling configuration method and device of software system
CN112910703A (en) Offline task management platform
Weidmann et al. Conception and Installation of System Monitoring Using the SAP Solution Manager
CN111401837A (en) Event processing method and system, computer readable 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
CB02 Change of applicant information

Address after: No. 527 Dongyue Street, Tai'an Tourism and Economic Development Zone, Tai'an City, Shandong Province, 271000

Applicant after: Shandong Inspur Digital Business Technology Co.,Ltd.

Address before: 250000 Langchao Science Park, No. 1036, Langchao Road, high tech Zone, Jinan, Shandong

Applicant before: Shandong Inspur Digital Business Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant