Software deployment result detection method and device, equipment, medium and product
Through automation, release information is obtained from the software release system and compared with the deployment information in the deployment environment, which solves the problem of manual verification in the existing technology that it takes a long time and low accuracy, and achieves efficient and accurate software deployment results detection.
Patent Information
- Application Number
- CN202411729289.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-28
- Publication Date
- 2025-03-21
AI Technical Summary
In the prior art, the detection of software deployment results depends on manual verification, which consumes time and is low in accuracy, making it difficult to meet the needs of rapid iteration and frequent deployment of software.
By automatically obtaining release information from the software publishing system and comparing it with the deployment information in the deployment environment, using Kafka messages and streaming aggregation algorithm to process data, automatic detection of software deployment results is achieved.
It reduces manual intervention, reduces the time consumption and human errors of manual operations, shortens the detection cycle, improves the efficiency and accuracy of software deployment results, and thus improves the quality and efficiency of software deployment.
Smart Images

Figure CN119669065A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a method, device, equipment, medium and product for detecting software deployment results. Background Art
[0002] During the software development process, ensuring that the release information in the software release system is consistent with the deployment information in the deployment environment is a key step to ensure the correct deployment of the software.
[0003] In the prior art, a technician usually manually extracts a release list from a software release system and checks one by one whether the release information in the release list is consistent with the deployment information in the actual deployment environment.
[0004] However, the existing method of manually checking the release information and deployment information has the disadvantages of being time-consuming and having low accuracy. Summary of the invention
[0005] The present application provides a method, apparatus, device, medium and product for detecting software deployment results, which are used to improve the efficiency and accuracy of software deployment result detection by automatically obtaining release information from a software release system and comparing it with the deployment information in a deployment environment.
[0006] In a first aspect, the present application provides a method for detecting software deployment results, comprising:
[0007] Continuously obtaining the release and deployment information of the application in the form of Kafka messages, the release and deployment information including: first release information obtained from the software release system, and first deployment information obtained from the deployment environment, the first release information including: at least one published application information in the application, at least one published group information under the published application, the first deployment information including: at least one deployed application information in the application, at least one deployed group information under the deployed application;
[0008] Performing streaming aggregation processing on the first released information obtained according to the released applications, the released groups and the production time to obtain the second released information;
[0009] Performing streaming aggregation processing on the acquired first deployment information according to deployed applications, deployed groups and deployment time, and performing hash operation to obtain second deployment information;
[0010] The second release information is compared with the second deployment information to obtain a deployment detection result of the application program, and the deployment detection result is displayed.
[0011] In a second aspect, the present application provides a software deployment result detection device, comprising:
[0012] An acquisition module is used to continuously acquire the release and deployment information of the application in the form of Kafka messages, wherein the release and deployment information includes: first release information acquired from the software release system, and first deployment information acquired from the deployment environment, wherein the first release information includes: at least one released application information in the application, and at least one released group information under the released application, and the first deployment information includes: at least one deployed application information in the application, and at least one deployed group information under the deployed application;
[0013] A first aggregation module is used to perform streaming aggregation processing on the first released information obtained according to the released applications, the released groups and the production time to obtain second released information;
[0014] A second aggregation module is used to perform streaming aggregation processing on the first deployment information obtained according to deployed applications, deployed groups and deployment time, and perform hash operation to obtain second deployment information;
[0015] The display module is used to compare the second release information with the second deployment information to obtain a deployment detection result of the application program and display the deployment detection result.
[0016] In a third aspect, the present application provides an electronic device, comprising: a processor, and a memory communicatively connected to the processor;
[0017] Memory stores computer-executable instructions;
[0018] The processor executes the computer execution instructions stored in the memory to implement a method for detecting software deployment results according to the first aspect of the invention.
[0019] In a fourth aspect, the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, a method for detecting software deployment results is used to implement the invention content of the first aspect.
[0020] In a fifth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, is used to implement a method for detecting software deployment results according to the invention content of the first aspect.
[0021] The present application provides a method, apparatus, device, medium and product for detecting software deployment results, including: first, continuously obtaining the release and deployment information of an application in the form of Kafka messages, the release and deployment information including: first release information obtained from a software release system, and first deployment information obtained from a deployment environment, the first release information including: at least one released application information in the application, at least one released group information under the released application, the first deployment information including: at least one deployed application information in the application, at least one deployed group information under the deployed application; then, performing streaming aggregation processing on the obtained first release information according to the released application, the released group and the production time to obtain the second release information; at the same time, performing streaming aggregation processing on the obtained first deployment information according to the deployed application, the deployed group and the deployment time, and performing hash operation to obtain the second deployment information; then, comparing the second release information with the second deployment information to obtain the deployment detection result of the application, and displaying the deployment detection result. The following technical effects are achieved: through a pre-configured interface or tool, the first release information and the first deployment information are automatically obtained from the software release system, and the first release information obtained is automatically processed with the first deployment information actually existing in the deployment environment by adopting an efficient streaming aggregation algorithm to obtain the second release information and the second deployment information, and then the second release information and the second deployment information are automatically compared to obtain the deployment detection result of the application program, thereby reducing manual intervention, thereby reducing the time consumption and human errors of manual operations, shortening the detection cycle, and improving the efficiency and accuracy of software deployment result detection, thereby improving the quality and efficiency of software deployment. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0023] Figure 1 A schematic diagram of an application scenario of a method for detecting software deployment results provided in an embodiment of the present application.
[0024] Figure 2 A flowchart of a method for detecting software deployment results provided in an embodiment of the present application.
[0025] Figure 3 A schematic diagram of the structure of a software deployment result detection device provided in an embodiment of the present application.
[0026] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
[0027] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0028] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0029] In the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will appreciate that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit the difference. It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way. In the embodiments of the present application, "at least one" refers to one or more, and "more" refers to two or more.
[0030] It should be noted that the "at..." in the embodiment of the present application can be the instant when a certain situation occurs, or can be a period of time after a certain situation occurs, and the embodiment of the present application does not specifically limit this. In addition, the detection method of a software deployment result provided in the embodiment of the present application is only used as an example, and the detection method of a software deployment result can also include more or less content.
[0031] It should be noted that the software deployment result detection method, device, equipment, medium and product provided in this application can be used in the field of data processing technology, and can also be used in any field outside the field of data processing technology. The application field of the software deployment result detection method, device, equipment, medium and product in this application is not limited.
[0032] During software development and operation and maintenance, it is crucial to ensure the consistency between software release information and deployment information in the deployment environment, which is directly related to whether the software can run correctly.
[0033] However, existing technologies usually rely on technicians to manually extract release lists from software release systems and manually compare the information in the release list with the information in the actual deployment environment. This manual verification method is not only time-consuming and labor-intensive, but also prone to errors, resulting in low accuracy of detection results, which is difficult to meet the needs of rapid product iteration and frequent deployment during software development.
[0034] Based on this, the embodiments of the present application propose a method, device, equipment, medium and product for detecting software deployment results, which can be used in the field of data processing technology, aiming to solve the above technical problems of the prior art. By automatically obtaining release information from the software release system, such as version number, component list, configuration parameters and other key data. Then, it is automatically compared with the deployment information actually existing in the deployment environment to obtain the detection result of the software deployment result, which reduces the time consumption and human errors caused by manual operation during the detection process, shortens the detection cycle, improves the efficiency and accuracy of software deployment result detection, and thus improves the quality and efficiency of software deployment.
[0035] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0036] In order to better understand the solution of the embodiment of the present application, an application scenario involved in the embodiment of the present application is first introduced below.
[0037] For specific application scenarios of this application, please refer to Figure 1 . Figure 1 A schematic diagram of an application scenario of a method for detecting software deployment results provided in an embodiment of the present application. It should be noted that: Figure 1 What is shown are merely examples of application scenarios to which the embodiments of the present application can be applied, in order to help those skilled in the art understand the technical content of the present application, but it does not mean that the embodiments of the present application cannot be used in other devices, systems, environments or scenarios.
[0038] like Figure 1 As shown, the application scenario includes: an application server 110 and a data processing server 120. The connection between the application server 110 and the data processing server 120 can be a wired connection or a wireless connection.
[0039] The application server 110 stores the release and deployment information of the application. The data processing server 120 can be implemented using a server or a cluster of multiple servers with more powerful processing capabilities and higher security, or it can be replaced by a computer or laptop with stronger computing power.
[0040] The data processing server 120 may obtain the release and deployment information of the application from the application server 110, and obtain the deployment detection result of the application by comparing the release information of the application in the release and deployment information with the actual deployment information of the application.
[0041] Figure 2 A flowchart of a method for detecting software deployment results provided in an embodiment of the present application is shown below. Figure 2 As shown, the method includes:
[0042] S201. Continuously obtain application release and deployment information in the form of Kafka messages.
[0043] In an embodiment of the present application, the executor of a method for detecting software deployment results may be a server, which may be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server, etc., without specific limitation.
[0044] Kafka message refers to the data unit transmitted on Apache Kafka, an open source distributed stream processing platform. As the basic unit of data transmission and processing, Kafka message has the characteristics of high throughput, low latency and high scalability. Therefore, in the embodiment of the present application, the release and deployment information of the application is continuously obtained and processed in the form of Kafka message.
[0045] The published deployment information includes: first published information obtained by the server from the software publishing system, and first deployment information obtained by the server from the deployment environment, the first published information includes: at least one published application information in the application, at least one published group information under the published application, the first deployment information includes: at least one deployed application information in the application, at least one deployed group information under the deployed application.
[0046] Specifically, in order to detect the deployment results of the software, the server can automatically obtain the published application information of the application and the published group information under the published application from the software publishing system through a pre-configured interface or tool. At the same time, the deployed application information in the application and the deployed group information under the deployed application are automatically obtained from the actual deployment environment of the application. Among them, the application is one of the service functions contained in the application (Application, APP), such as personal service, group service, etc. The group is the next layer of concept obtained by dividing the application. For example, taking personal service as an application, the application can be further divided into multiple application groups such as ordinary users and advanced users (VeryImportant Person, VIP), so that they can correspond to different user groups respectively.
[0047] The published application information may include application identification, application version number, service function description, production time, and expected deployment environment. The deployed group information may include application identification, application version number, service function description, deployment time, and actual deployment environment. The production time may refer to the expected deployment time.
[0048] After obtaining the release and deployment information of the application, the server can also pre-process the obtained data, for example, check whether there are missing values or duplicate records, and perform data cleaning, conversion, and filtering operations to improve data quality and ensure data integrity and consistency.
[0049] S202: Perform streaming aggregation processing on the acquired first release information according to the released applications, the released groups and the production time to obtain second release information.
[0050] Specifically, streaming aggregation processing is a technology for real-time data processing that can aggregate and analyze continuously flowing data, and is suitable for data processing scenarios that require immediate response. The server can perform streaming aggregation processing on the first published information obtained according to the published application, published group, and production time to obtain the second published information. The specific process includes: grouping the first published information according to different applications; and further grouping according to different groups within each application; then, within each group, aggregating the data according to the production time.
[0051] Specific aggregation operations may include summing, calculating quantity, and finding average values, etc., depending on actual needs. For example, the number of releases and average release time of each group under each application in each production time period may be calculated to obtain the second release information. The second release information may be formatted and output according to actual needs for subsequent comparison.
[0052] S203: Perform streaming aggregation processing on the acquired first deployment information according to deployed applications, deployed groups and deployment time, and perform hash operation to obtain second deployment information.
[0053] Specifically, the server can also perform streaming aggregation processing on the first deployment information obtained according to the deployed applications, deployed groups and deployment time, so as to obtain the second deployment information. The specific process includes: grouping the first deployment information according to different applications; and further grouping according to different groups within each application; and then, within each group, aggregating the data according to the deployment time.
[0054] Specific aggregation operations can also include summing, calculating quantities, and finding average values, etc. The specific processing method can be consistent with the aggregation operation method of the first published information. For example, similar to the aggregation method of the first published information, the number of deployments and average deployment time of each group under each application in each deployment time period can be calculated, and further hash operations can be performed to obtain the second deployment information through hash value mapping. The second deployment information can also be formatted and output according to actual needs so that it can be compared with the second published information later.
[0055] S204: Compare the second publishing information with the second deployment information to obtain a deployment detection result of the application program, and display the deployment detection result.
[0056] Specifically, the server can first confirm the generated second release information and the second deployment information to ensure that the generated information to be compared is accurate. Then, the server can further compare the second release information and the second deployment information. For example, compare whether the application name and group identifier in the second release information and the second deployment information are consistent; whether the production time and the actual deployment time are close or consistent, whether the number of application releases and the number of application deployments are consistent; whether the latest version number in the second release information is consistent with the current version number in the second deployment information, whether the expected deployment environment in the second release information and the actual deployment environment in the second deployment information are consistent, etc. The specific comparison content can also include more other content, which will not be repeated here.
[0057] According to the comparison result between the second release information and the second deployment information, the server may generate a deployment detection result of the application program, and may display the deployment detection result through a visual interface to facilitate users to view the deployment detection result of the application program.
[0058] A method for detecting software deployment results provided in this embodiment includes: first, continuously obtaining the release and deployment information of an application in the form of Kafka messages, the release and deployment information including: first release information obtained from a software release system, and first deployment information obtained from a deployment environment, the first release information including: at least one released application information in the application, at least one released group information under the released application, and the first deployment information including: at least one deployed application information in the application, at least one deployed group information under the deployed application; then, performing streaming aggregation processing on the obtained first release information according to the released application, the released group and the production time to obtain second release information; at the same time, performing streaming aggregation processing on the obtained first deployment information according to the deployed application, the deployed group and the deployment time, and performing hash operation to obtain second deployment information; then, comparing the second release information with the second deployment information to obtain the deployment detection result of the application, and displaying the deployment detection result.
[0059] The following technical effects are achieved: through a pre-configured interface or tool, the first release information and the first deployment information are automatically obtained from the software release system, and the first release information obtained is automatically processed with the first deployment information actually existing in the deployment environment by adopting an efficient streaming aggregation algorithm to obtain the second release information and the second deployment information, and then the second release information and the second deployment information are automatically compared to obtain the deployment detection result of the application program, thereby reducing manual intervention, thereby reducing the time consumption and human errors of manual operations, shortening the detection cycle, and improving the efficiency and accuracy of software deployment result detection, thereby improving the quality and efficiency of software deployment.
[0060] In a possible implementation, in the above step S204, the second publishing information and the second deployment information are compared to obtain a deployment detection result of the application program, including:
[0061] S301: Obtain detection instruction information from a preset configuration file.
[0062] Specifically, a preset configuration file may be pre-stored in the server. The preset configuration file includes detection indication information. The detection indication information may be used to indicate a specific time for comparing the second release information with the second deployment information.
[0063] S302: If the preset configuration file contains detection indication information, the second publishing information and the second deployment information are compared according to the detection indication information to obtain a deployment detection result of the application program.
[0064] Specifically, if the server can obtain the detection indication information from the preset configuration file, the server can compare the second publishing information with the second deployment information according to the specific time indicated by the detection indication information to obtain the deployment detection result of the application program.
[0065] S303: If the detection indication information does not exist in the preset configuration file, the deployment progress information is extracted from the Kafka message, and when the deployment progress information indicates that the deployment is completed, the second release information is compared with the second deployment information to obtain the deployment detection result of the application.
[0066] Specifically, if the server does not obtain the detection indication information from the preset configuration file, it can extract the deployment progress information of the application from the Kafka message, and determine the specific time to compare the second release information with the second deployment information based on the deployment progress information. For example, when the deployment progress information indicates that the deployment is complete, the server can compare the second release information with the second deployment information to obtain the deployment detection result of the application.
[0067] A method for detecting software deployment results provided in an embodiment of the present application can set a specific time for comparing the second release information and the second deployment information by setting detection indication information in a preset configuration file. When the server does not obtain the detection indication information from the preset configuration file, the comparison detection is triggered after the application is deployed by default; when the server can obtain the detection indication information from the preset configuration file, the comparison detection can be completed according to the specific time indicated by the indication information, thereby improving the flexibility of comparing the second release information and the second deployment information.
[0068] In a possible implementation, in the above step S302, the second publishing information and the second deployment information are compared to obtain a deployment detection result of the application program, including:
[0069] S401: If the detection indication information indicates immediate detection, the second release information and the second deployment information are compared to obtain a deployment detection result of the application at the current moment.
[0070] Specifically, if the server can obtain detection indication information from a preset configuration file, and the detection indication information indicates immediate detection, the server can immediately compare the second release information and the second deployment information according to the detection indication information to obtain the deployment detection result of the application at the current moment, thereby realizing instant detection of software deployment results.
[0071] S402: If the detection indication information indicates to detect according to a preset time period, compare the second release information with the second deployment information according to the preset time period in the detection indication information to obtain a deployment detection result of the application in the preset time period.
[0072] Specifically, by comparing the second release information and the second deployment information according to a preset time period in the detection indication information, periodic detection of the software deployment result can be achieved.
[0073] S403. If the detection indication information indicates that the detection is performed in application units, the deployment progress information is extracted from the Kafka message, and when the deployment progress information indicates that an application deployment is completed, the second release information of the application and the second deployment information of the application are compared to obtain the deployment detection result of the application in the application program.
[0074] Specifically, for various production scenarios of application programs, such as gray-to-regular version, normal version, emergency patch, etc., there are usually multiple corresponding application production versions. The server can set up multiple detection and comparison of multiple stages corresponding to multiple application production versions through detection indication information.
[0075] The specific detection and comparison process includes: when it is detected that the detection indication information indicates that the detection is performed in application units, the server can extract the deployment progress information from the Kafka message, and determine the time when each application deployment is completed based on the deployment progress information, so that when the deployment progress information indicates that an application deployment is completed, the second release information of the application and the second deployment information of the application are compared to obtain the deployment detection result of the application in the application program. By performing detection in application units as indicated in the detection indication information, a corresponding comparison detection is performed after each application is deployed, so that the phased detection of the software deployment results can be achieved.
[0076] S404. If the detection indication information indicates that detection is performed in groups, the deployment progress information is extracted from the Kafka message, and when the deployment progress information indicates that a group deployment is completed, the second release information of the group is compared with the second deployment information of the group to obtain the deployment detection result of the group in the application.
[0077] Specifically, the server may further set up more detailed multiple detection and comparison in multiple stages corresponding to the multiple application groups according to the respective deployment completion status of the multiple application groups under each application through the detection indication information.
[0078] The specific detection and comparison process includes: when it is detected that the detection indication information indicates that the detection is performed in units of application groups, the server can extract the deployment progress information from the Kafka message, and determine the time when each application group deployment is completed based on the deployment progress information, so that when the deployment progress information indicates that an application group deployment is completed, the second release information of the application group and the second deployment information of the application group are compared to obtain the deployment detection result of the application group in the application. By performing detection in units of application groups as indicated in the detection indication information, a corresponding comparison detection is performed after each deployment of an application group, further realizing a more detailed phased detection of the software deployment results.
[0079] A method for detecting software deployment results provided in an embodiment of the present application can realize multiple comparison and detection methods such as real-time detection, periodic detection, and phased detection of software deployment results by comparing the second release information and the second deployment information according to the instructions of the detection indication information, further refine the specific strategies of the comparison and detection, and realize the detection of software deployment results through multiple comparison strategies according to actual needs.
[0080] In a possible implementation, before the above step S301, the method further includes:
[0081] S501, displaying a detection configuration interface, and receiving a configuration operation input by a user in the detection configuration interface, wherein the configuration operation is input before, during, and / or after deployment of an application.
[0082] Specifically, the preset configuration file pre-stored in the server can be generated accordingly after the user inputs a configuration operation through the detection configuration interface displayed by the server.
[0083] S502: Generate a preset configuration file according to the configuration operation, and trigger a step of comparing the second publishing information with the second deployment information to obtain a deployment detection result of the application program.
[0084] Specifically, after the user enters a configuration operation in the detection configuration interface, a preset configuration file can be generated accordingly, so that the server can trigger an operation of comparing the second release information and the second deployment information according to the detection indication information in the preset configuration file to generate a deployment detection result of the application.
[0085] The software deployment result detection method provided by the embodiment of the present application can facilitate the user to input configuration operations in the detection configuration interface by displaying the detection configuration interface to generate a corresponding preset configuration file, and trigger the operation of comparing the second release information with the second deployment information according to the preset configuration file. Thus, by displaying the detection configuration interface, the flexibility of detection strategy setting is improved.
[0086] In a possible implementation, after the above step S204, the method further includes:
[0087] S601. If the deployment detection result is that the detection fails, a prompt message is generated according to the deployment detection result, and the prompt message is pushed to the target user terminal in real time as a Kafka message through at least one sending method, and the at least one sending method includes at least one of the following: email, instant message, and text message.
[0088] Specifically, after the server completes the comparison test and generates the corresponding deployment test results, once it is found that the deployment test results show that the software deployment result has failed the test, in order to promptly notify the user of this failed test result, a corresponding prompt message can be generated based on the deployment test result, and the prompt message can be used as a Kafka message and pushed to the target user terminal in real time through multiple sending methods, so that the user can promptly process the software deployment process based on the test results.
[0089] Furthermore, the deployment detection results include: pipeline name, pass information, detection time, application identification, release system information, detection type, handover person information, and application responsible person information.
[0090] Specifically, the pipeline name can be used to quickly locate the specific link in the software deployment process, which is convenient for subsequent problem analysis and optimization; whether the information indicates the result of the deployment test directly reflects whether the deployment is successful, which helps technical personnel take timely measures based on the test results; recording the test time helps track the timeline of the deployment process and understand the time consumption of each step, which is of great significance for optimizing the deployment process and improving deployment efficiency; the application identifier is used to uniquely identify the deployed software application, which is convenient for distinguishing between multiple applications. Recording the application identifier helps to quickly locate the application that failed the test and conduct targeted analysis and processing; the release system information includes the name and version of the release system. This information is crucial for understanding the deployment environment and troubleshooting compatibility issues. By recording system information, we can better understand the environmental factors in the deployment process and improve the efficiency of problem solving. The detection types include unit testing, integration testing, performance testing and other types. They focus on different aspects of the software. Recording the detection type helps us understand what types of tests were performed during the deployment process and the results of these tests. The handover person information records the person in charge or executor of each link in the deployment process, which helps to quickly find the responsible person when the test fails, that is, when a problem occurs, and track and solve the problem. The person in charge of the application is the person in charge of the entire life cycle management of the software. They usually have a deep understanding of the software requirements, design, development, deployment and other aspects. Recording the person in charge of the application helps to quickly send notifications to the other party when the test fails, so as to facilitate timely processing of the software deployment process.
[0091] The software deployment result detection method provided by the embodiment of the present application generates prompt information for the deployment detection result that fails the detection in time, and pushes the prompt information as a Kafka message to the target user terminal in real time, which facilitates the user to process the software deployment process in time according to the detection result, and further improves the software deployment result detection method. By making the deployment detection result include the pipeline name, whether it passes the information, the detection time, the application program identification, the release system information, the detection type, the handover person information, the application person in charge information and other contents, it is convenient to quickly locate the specific links and specific applications in the software deployment process when the detection fails, and quickly find the responsible person to track and solve the problem.
[0092] In a possible implementation, after the above step S601, the method further includes:
[0093] S701. Display a pending status and pending controls for at least one target record in the deployment detection result that has failed detection, where the target record includes: a detection result record corresponding to a deployed application and a detection result record corresponding to a deployed group.
[0094] Specifically, in order to effectively manage the target records that failed the deployment test results and ensure that these problems can be paid attention to and handled in a timely manner, the following functions can be implemented in the deployment test results interface:
[0095] For target records that have failed the test, use obvious visual identifiers to highlight their pending status. For example, you can use specific colors, icons, or text (such as red background color, exclamation mark icon, bold text, etc.) to highlight and mark these target records that have failed the test so that users can quickly identify them. In the list view, you can add a column specifically for displaying the status of each test result (for example, "passed", "failed", "pending", etc.). And provide a link or button that allows users to click to view the specific reason why the test result failed, related logs, and other information that helps diagnose the problem. And other contextual information related to the test, such as execution time, execution environment, etc., can be displayed.
[0096] The server can also provide a set of pending controls for each detection result in a pending state, such as "mark as processed", "rerun detection", "assign to others", etc.
[0097] These pending controls can be directly linked to the corresponding functional areas, making it convenient for users to operate quickly.
[0098] Furthermore, the server allows users to set a priority for each pending status based on the severity or impact of the problem in the target record that failed the test, thereby helping technicians to prioritize the repair work more efficiently.
[0099] Optionally, the server may also provide a functional area for users to add notes or comments about the target record of the test failure, thereby helping to record the measures that have been taken and facilitate other technicians to review.
[0100] S702: In response to the operation on the to-be-processed control, adjust the state of the target record from a to-be-processed state to a processed state.
[0101] Specifically, after the user performs corresponding processing on the target record that fails the detection, the user can operate the control to be processed, and the server can adjust the state of the target record from the pending state to the processed state in response to the user's operation on the control to be processed.
[0102] Optionally, the server may also display the overall progress of each pending status from problem discovery to final resolution by setting a progress bar or a similar functional module.
[0103] A method for detecting software deployment results provided in an embodiment of the present application facilitates users to promptly view and process target records that have failed detection by displaying pending status and pending controls.
[0104] Figure 3 A schematic diagram of a software deployment result detection device provided in an embodiment of the present application. Figure 3 As shown, the software deployment result detection device includes: an acquisition module 310, a first aggregation module 320; a second aggregation module 330; a display module 340;
[0105] The acquisition module 310 is used to continuously acquire the release and deployment information of the application in the form of Kafka messages, the release and deployment information including: first release information obtained from the software release system, and first deployment information obtained from the deployment environment, the first release information including: at least one released application information in the application, at least one released group information under the released application, the first deployment information including: at least one deployed application information in the application, at least one deployed group information under the deployed application;
[0106] The first aggregation module 320 is used to perform streaming aggregation processing on the acquired first release information according to the released applications, the released groups and the production time to obtain the second release information;
[0107] The second aggregation module 330 is used to perform streaming aggregation processing on the acquired first deployment information according to deployed applications, deployed groups and deployment time, and perform hash operation to obtain second deployment information;
[0108] The display module 340 is used to compare the second publishing information with the second deployment information to obtain a deployment detection result of the application program and display the deployment detection result.
[0109] In one possible design, the display module 340 includes: an indication information module, an indication comparison module, and a deployment completion comparison module;
[0110] An indication information module, used to obtain detection indication information from a preset configuration file;
[0111] an indication comparison module, configured to compare the second release information with the second deployment information according to the detection indication information to obtain a deployment detection result of the application program if detection indication information exists in the preset configuration file;
[0112] The deployment completion comparison module is used to extract the deployment progress information from the Kafka message if there is no detection indication information in the preset configuration file, and when the deployment progress information indicates that the deployment is completed, compare the second release information with the second deployment information to obtain the deployment detection result of the application.
[0113] In one possible design, the indication comparison module includes: an immediate comparison module, a period comparison module, an application comparison module and a group comparison module;
[0114] An immediate comparison module, used for comparing the second release information with the second deployment information if the detection indication information indicates immediate detection, to obtain a deployment detection result of the application at the current moment;
[0115] A period comparison module, for comparing the second release information and the second deployment information according to the preset time period in the detection indication information if the detection indication information indicates detection according to the preset time period, to obtain a deployment detection result of the application in the preset time period;
[0116] An application comparison module, for extracting deployment progress information from a Kafka message if the detection indication information indicates that detection is performed in units of applications, and when the deployment progress information indicates that deployment of an application is completed, comparing the second release information of the application with the second deployment information of the application to obtain a deployment detection result of the application in the application program;
[0117] The group comparison module is used to extract the deployment progress information from the Kafka message if the detection indication information indicates that the detection is performed in groups, and when the deployment progress information indicates that a group deployment is completed, compare the second release information of the group with the second deployment information of the group to obtain the deployment detection result of the group in the application.
[0118] In one possible design, the device further includes: a configuration module and a trigger module;
[0119] A configuration module, used to display a detection configuration interface and receive configuration operations input by a user in the detection configuration interface, where the configuration operations are input before, during, and / or after the deployment of the application;
[0120] The trigger module is used to generate a preset configuration file according to the configuration operation, and trigger the step of comparing the second publishing information with the second deployment information to obtain the deployment detection result of the application program.
[0121] In one possible design, the device further includes: a pushing module;
[0122] The push module is used to generate prompt information according to the deployment detection result if the deployment detection result is detection failure, and push the prompt information as a Kafka message to the target user terminal in real time through at least one sending method. The at least one sending method includes at least one of the following: email, instant message, and text message.
[0123] In a possible design, the deployment detection result includes: pipeline name, pass or fail information, detection time, application ID, release system information, detection type, handover person information, and application responsible person information.
[0124] In a possible design, the device further includes: a to-be-processed module and a state adjustment module;
[0125] A pending module is used to display a pending status and pending controls for at least one target record in the deployment detection result that failed the detection, and the target record includes: a detection result record corresponding to a deployed application and a detection result record corresponding to a deployed group;
[0126] The state adjustment module is used to adjust the state of the target record from the pending state to the processed state in response to the operation of the pending control.
[0127] The software deployment result detection device provided in this embodiment can execute the software deployment result detection method of the above embodiment, and its implementation principle and technical effect are similar, which will not be described in detail in this embodiment.
[0128] In the specific implementation of the aforementioned software deployment result detection device, each module can be implemented as a processor, and the processor can execute computer execution instructions stored in the memory, so that the processor executes the aforementioned software deployment result detection method.
[0129] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Figure 4 As shown, the electronic device includes: at least one processor 410 and a memory 420. The electronic device also includes a communication component 430. The processor 410, the memory 420 and the communication component 430 are connected via a bus 440.
[0130] In the specific implementation process, at least one processor 410 executes the computer execution instructions stored in the memory 420, so that at least one processor 410 executes a method for detecting software deployment results executed by the electronic device side as above.
[0131] The specific implementation process of the processor 410 can be found in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.
[0132] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the invention may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0133] The memory may include a high-speed RAM memory, and may also include a non-volatile storage NVM, such as at least one disk storage.
[0134] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of this application is not limited to only one bus or one type of bus.
[0135] The above-mentioned functions implemented by the electronic device and the main control device introduce the scheme provided by the embodiment of the present invention. It can be understood that in order to implement the above-mentioned functions, the electronic device or the main control device includes a hardware structure and / or software module corresponding to the execution of each function. In combination with the units and algorithm steps of each example described in the embodiment disclosed in the embodiment of the present invention, the embodiment of the present invention can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the technical solution of the embodiment of the present invention.
[0136] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, it is used to implement the above-mentioned method for detecting software deployment results.
[0137] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0138] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist as discrete components in an electronic device or a main control device.
[0139] The present application also provides a computer program product, which includes a computer program. The computer program is stored in a readable storage medium. At least one processor of an electronic device can read the computer program from the readable storage medium. At least one processor executes the computer program so that the electronic device executes the solution provided by the above embodiment.
[0140] Those skilled in the art can understand that all or part of the steps of the above method embodiments can be completed by hardware related to program instructions. The above program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above method embodiments are executed; and the above storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0141] So far, the technical solution of the present application has been described in conjunction with the preferred embodiments shown in the accompanying drawings. However, it is easy for those skilled in the art to understand that the protection scope of the present application is obviously not limited to these specific embodiments, and the above embodiments are only used to illustrate the technical solution of the present application rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein by equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for detecting software deployment results, characterized in that: include: Continuously obtaining the release and deployment information of the application in the form of Kafka messages, the release and deployment information including: first release information obtained from the software release system, and first deployment information obtained from the deployment environment, the first release information including: at least one published application information in the application, at least one published group information under the published application, the first deployment information including: at least one deployed application information in the application, at least one deployed group information under the deployed application; Performing streaming aggregation processing on the first released information obtained according to the released applications, the released groups and the production time to obtain the second released information; Performing streaming aggregation processing on the acquired first deployment information according to deployed applications, deployed groups and deployment time, and performing hash operation to obtain second deployment information; The second release information is compared with the second deployment information to obtain a deployment detection result of the application program, and the deployment detection result is displayed.
2. The method according to claim 1, characterized in that: The comparing the second release information with the second deployment information to obtain the deployment detection result of the application program includes: Obtaining detection instruction information from a preset configuration file; If the detection indication information exists in the preset configuration file, comparing the second release information with the second deployment information according to the detection indication information to obtain a deployment detection result of the application program; If the detection indication information does not exist in the preset configuration file, the deployment progress information is extracted from the Kafka message, and when the deployment progress information indicates that the deployment is completed, the second release information and the second deployment information are compared to obtain the deployment detection result of the application.
3. The method according to claim 2, characterized in that The comparing the second release information and the second deployment information according to the detection indication information to obtain the deployment detection result of the application program includes: If the detection indication information indicates immediate detection, comparing the second release information with the second deployment information to obtain a deployment detection result of the application at the current moment; If the detection indication information indicates detection according to a preset time period, then according to the preset time period in the detection indication information, the second release information and the second deployment information are compared to obtain a deployment detection result of the application in the preset time period; If the detection indication information indicates that detection is performed in application units, extracting deployment progress information from the Kafka message, and when the deployment progress information indicates that deployment of an application is completed, comparing the second release information of the application with the second deployment information of the application to obtain a deployment detection result of the application in the application program; If the detection indication information indicates that detection is performed in groups, deployment progress information is extracted from the Kafka message, and when the deployment progress information indicates that a group deployment is completed, the second release information of the group and the second deployment information of the group are compared to obtain the deployment detection result of the group in the application.
4. The method according to claim 3, characterized in that The method further comprises: Displaying a detection configuration interface, and receiving a configuration operation input by a user in the detection configuration interface, wherein the configuration operation is input before, during, and / or after deployment of the application; The preset configuration file is generated according to the configuration operation, and the step of comparing the second release information with the second deployment information to obtain the deployment detection result of the application is triggered.
5. The method according to any one of claims 1 to 4, characterized in that Also includes: If the deployment detection result is that the detection fails, a prompt message is generated according to the deployment detection result, and the prompt message is pushed to the target user terminal in real time as a Kafka message through at least one sending method, and the at least one sending method includes at least one of the following: email, instant message, and text message.
6. The method according to claim 1, characterized in that The deployment detection result includes: pipeline name, pass information, detection time, application program identifier, release system information, detection type, handover person information, and person in charge information of the application.
7. The method according to claim 6, characterized in that The method further comprises: Displaying a pending status and pending controls for at least one target record in the deployment detection result that failed the detection, wherein the target record includes: a detection result record corresponding to a deployed application and a detection result record corresponding to a deployed group; In response to an operation on the to-be-processed control, the state of the target record is adjusted from the to-be-processed state to a processed state.
8. A software deployment result detection device, characterized in that: include: An acquisition module is used to continuously acquire the release and deployment information of the application in the form of Kafka messages, wherein the release and deployment information includes: first release information acquired from the software release system, and first deployment information acquired from the deployment environment, wherein the first release information includes: at least one released application information in the application, and at least one released group information under the released application, and the first deployment information includes: at least one deployed application information in the application, and at least one deployed group information under the deployed application; A first aggregation module is used to perform streaming aggregation processing on the first released information obtained according to the released applications, the released groups and the production time to obtain second released information; A second aggregation module is used to perform streaming aggregation processing on the first deployment information obtained according to deployed applications, deployed groups and deployment time, and perform hash operation to obtain second deployment information; The display module is used to compare the second release information with the second deployment information to obtain a deployment detection result of the application program and display the deployment detection result.
9. An electronic device, characterized in that: include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 7 when executed by a processor.
11. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 7 when being executed by a processor.