Method for automatically deploying cloud system software in DevOps cross-domain mode

Through the DEVOPS cross -domain automation deployment method, the complexity of the automation deployment and rapid migration of cross -domain multi -cloud service provider systems in the cloud environment, realized efficient and reliable resource utilization, shortening the product launch cycle.

CN119356694APending Publication Date: 2025-01-24NORTHEASTERN UNIV CHINA

Patent Information

Application Number
CN202411523649.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-29
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

In the cloud environment, in the face of complex cloud computing business applications, it is difficult for existing technologies to realize the automated deployment and rapid migration of cross-domain multi-cloud service providers, resulting in complex deployment, high error rate, and waste of resources.

Method used

Adopt the DevOps cross-domain automated deployment method, realize communication and cooperation in development, testing, and operation and maintenance through the DevOps concept, and use automated processes and tools for continuous integration and deployment to ensure code quality and deployment consistency.

Benefits of technology

The system automation deployment and rapid migration of cross -domain multi -cloud service providers under the cloud environment have reduced the complexity and error rate of deployment, improving the efficiency of resource utilization, and shortening the launch cycle of product renewal iteration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119356694A_ABST
    Figure CN119356694A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of cross-domain automatic deployment, and discloses a DevOps cross-domain automatic cloud system software deployment method, which comprises the following steps: S1, carrying out compiling construction in cross-domain automatic deployment based on a DevOps concept; s2, automatically deploying cloud supervision and governance system software in a cross-domain manner; s3, in the DevOps cross-domain automatic deployment, performing an automatic test; s4, in the DevOps cross-domain automatic deployment, a concurrent access test is carried out; and S5, continuously optimizing the cloud supervision and governance system software. According to the method for automatically deploying cloud system software in a DevOps cross-domain mode, the inherent barrier culture between development and operation and maintenance personnel is broken through, and through automatic deployment, the repeatability of tasks is ensured, the possibility of deployment errors is reduced, resources are effectively utilized, and the waste condition of the resources is eliminated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of cross-domain automated deployment, and in particular to a DevOps method for cross-domain automated deployment of cloud system software. Background Art

[0002] In the cloud environment, the complexity of business applications continues to increase, which may involve multiple cloud service providers providing services, different deployment environments, and diverse business needs. In the face of complex cloud computing business application support scenarios, it is necessary to continuously optimize the system's scenario support capabilities and enhance cloud supervision and governance capabilities. Adopting multiple deployment architectures such as centralized deployment, master-slave deployment, and parallel deployment, based on the system architecture with front-end and back-end separation and pluggable loosely coupled microservice mode, through DevOps pipeline-based system packaging and deployment strategies and tool support, to achieve cross-domain multi-cloud service provider system automation deployment and on-demand deployment in the cloud environment, support unified services based on heterogeneous environments such as service grid / containerization / virtual machines / physical machines, and solve the problem of rapid platform construction and automatic deployment. Therefore, in order to cope with this complexity, the system must have the ability to deploy and migrate across clouds to quickly deploy and provide consistent services in a variety of environments. Summary of the invention

[0003] The purpose of the present invention is to provide a DevOps method for cross-domain automated deployment of cloud system software, which realizes communication and cooperation among development, testing, operation and maintenance and other links through DevOps, breaking the inherent barrier culture between development and operation and maintenance personnel; through automated processes and tools, continuous integration is performed, and the code is frequently integrated into the trunk to quickly discover errors and correct them in time, so as to maintain code quality while the product is rapidly iterated; based on the automatic completion of a series of pre-deployment steps such as testing, building, and verification, the product can automatically enter the production stage at any time, provide services to end users, and shorten the online cycle of product updates and iterations; through automated deployment, the repeatability of tasks is ensured, the possibility of deployment errors is reduced, resources are effectively utilized, and waste of resources is eliminated.

[0004] To achieve the above object, the present invention provides a DevOps cross-domain automated deployment method for cloud system software, comprising the following steps: S1. Compile and build in cross-domain automated deployment based on DevOps concepts; S2. Cross-domain automated deployment of cloud monitoring and governance system software; S3. Perform automated testing in DevOps cross-domain automated deployment; S4. Perform concurrent access testing in DevOps cross-domain automated deployment; S5. Continuously optimize the cloud supervision and governance system software.

[0005] Preferably, in step S1, based on the DevOps concept, the compilation and construction in the cross-domain automated deployment is implemented in combination with version control, continuous integration, automated build scripts, environment isolation, build tool chain integration, automated testing, build result storage and continuous deployment.

[0006] Preferably, in step S1: in a cloud computing environment, the specific process of compiling and building is as follows: S121. Build environment preparation: including installing compilers, building tool chains, building dependencies, and configuring build tools; S122, using distributed build management technology to utilize computing resources of edge nodes, and distributing build tasks to different edge nodes for execution; S123. During the compilation and construction process, a communication mechanism is established to transmit source code, build files, and dependencies between different edge nodes; S124. Use appropriate containerization technologies and tools to build and manage container images, and deploy and run them on different edge nodes. S125. Use continuous integration and continuous deployment methods to establish an automated build pipeline.

[0007] Preferably, in step S2, the specific implementation method of cross-domain automated deployment is as follows: S211. Automation tool selection: By selecting appropriate automation tools, the function of automatic deployment through configuration files or scripts is provided, and it is integrated with the version control system so that the deployment process can be automatically triggered after the code is submitted; S212, Configuration management: Decouple the application configuration parameters from the deployment process and use independent configuration management tools to manage the application configuration; S213, Environment Management: Create, deploy and manage containers for different environments by using containerization technology; S214, Automated testing and verification: During the automated deployment process, automated testing tools are used to automatically execute test cases to verify the correctness and stability of the application in different domain names or network areas; S215, Continuous Integration and Continuous Delivery: Adopt the practice of continuous integration and continuous delivery to automatically integrate the code submitted by developers into the trunk branch, and automatically carry out the building, testing, and deployment processes; S216, Monitoring and logging: During cross-domain automated deployment, timely monitor the application's operating status and performance indicators and record log information; use monitoring tools to collect and display application monitoring data in real time.

[0008] Preferably, in step S2, the steps of cross-domain automatic deployment in a cloud computing environment are as follows: S221. Define deployment strategy: determine the target edge computing nodes for deployment, evaluate the characteristics, location, and performance of the edge nodes according to the requirements, and formulate corresponding deployment strategies; S222. Select automated deployment tools: Select automated tools suitable for deployment in a cloud computing environment to help automate the creation, configuration, and management of applications on edge computing nodes, while providing cross-edge node deployment capabilities; S223, resource and environment preparation: Create necessary resources and environment on edge computing nodes, and ensure that corresponding credentials and access rights are set on each edge node to facilitate cross-node operations; S223, define the automated deployment process: use the selected automation tool to create a deployment script or template to define the deployment process and configuration of the application, including creating edge node resources, configuring network settings, installing software, and deploying application code steps; S224. Integrated continuous integration / continuous deployment pipeline: Integrate the automated deployment process into the integrated continuous integration / continuous deployment pipeline to automate the build, test, and deployment of code changes. When the code changes, the pipeline will automatically trigger the deployment process to deploy the application to different edge computing nodes. S225, Monitoring and Management: After cross-domain automated deployment in a cloud computing environment, ensure that monitoring and management tools are set up to monitor the performance, availability, and security of the application, specifically involving log collection, performance indicator monitoring, automatic scaling, and fault recovery functions; S226. Regular updates and optimizations: Based on actual needs and feedback, continuously improve and optimize automated deployment processes and strategies, and regularly review and update deployment scripts, environment configurations, and monitoring settings.

[0009] Preferably, in step S3, the automated test types include unit testing, integration testing, smoke testing, performance testing, and security testing; The types of automated testing in cloud computing environments include: functional testing, performance testing, security testing, and compatibility testing.

[0010] Preferably, in step S3, the specific steps of implementing automated testing include: S321. Select appropriate testing tools, write test scripts, integrate the test scripts into the automated deployment process to automatically execute tests, and process test results and reports; where the automated testing tool generates detailed test results and reports, which are integrated into the continuous integration platform or test management tool for the team to review and analyze; S322. Continuously improve and update automated testing strategies and scripts with application changes, and regularly review and evaluate test cases and scripts.

[0011] Preferably, in step S4, the implementation process of the concurrent access test in the cloud computing environment is as follows: S421, high concurrent load simulation; S422, performance and scalability evaluation; S423, resource utilization and load balancing; S424, high availability and fault tolerance verification.

[0012] Preferably, in step S5, the specific process of continuous optimization is as follows: S51. Code automation inspection, wherein the code automation inspection includes the following aspects: S511. Static code analysis is to check potential problems and errors in the code by analyzing the syntax structure and execution path of the code, and detect some common programming errors; S512, Code Standard Check: Use automated tools to check whether the code complies with the standards and give corresponding repair suggestions; S513, Security vulnerability scanning: Scan code dependencies and applications through automated tools to check for known security vulnerabilities and weaknesses, and promptly repair and enhance security; S514, Unit test coverage check: Use automation tools to automatically run and check unit tests and generate code coverage reports to inform developers which parts of the code have been tested and which parts have not been covered, thereby guiding the completeness of the test and improving code quality; S515. Integrated code review: Help teams integrate and manage code reviews through automated tools, automatically generating review requests, comments, and feedback; S52. The general process of software performance testing and tuning is as follows: S521. Determine the performance test objectives, including key business scenarios, specific load conditions, and performance indicators; S522. Design performance test plan, including setting up test environment, preparing test data, designing test cases and establishing load model; S523. Execute performance test: Execute performance test according to the designed test plan, simulate actual user load, monitor system performance indicators, and record test results; S524. Analyze performance test results: Analyze performance test results and monitoring data by using various performance analysis tools and techniques to identify potential performance bottlenecks and problems; S525, Optimization and adjustment: Optimize performance bottlenecks based on the analysis results; S526, retest verification: retest the performance of the optimized system to verify whether the optimization effect meets expectations and check whether new problems are introduced; S527. Continuous monitoring and tuning: As the system changes and the business evolves, continuous monitoring and tuning are performed to ensure that the system performance remains at an acceptable level.

[0013] Preferably, it is composed of a user management module, an integrated deployment module, an image management module, an application management module and a resource management module.

[0014] Therefore, the present invention adopts the above-mentioned DevOps cross-domain automated deployment method of cloud system software, realizes communication and cooperation between development, testing, operation and maintenance and other links through DevOps, breaks the inherent barrier culture between development and operation and maintenance personnel; through automated processes and tools, continuous integration is performed, and the code is frequently integrated into the trunk to quickly discover errors and correct them in time, and the code quality is maintained while the product is quickly iterated; based on the automatic completion of a series of pre-deployment steps such as testing, building, and verification, the product can automatically enter the production stage at any time to provide services to end users and shorten the online cycle of product updates and iterations; through automated deployment, the repeatability of tasks is ensured, the possibility of deployment errors is reduced, resources are effectively utilized, and waste of resources is eliminated.

[0015] The technical solution of the present invention is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is an architecture diagram of continuous integration and continuous deployment of the present invention; Figure 2 It is the system interface of the present invention that pushes the custom tools image to the Harbor warehouse; Figure 3 It is a functional module diagram of the automatic deployment system of the present invention. DETAILED DESCRIPTION

[0017] The technical solution of the present invention is further described below through the accompanying drawings and embodiments.

[0018] The present invention provides a DevOps cross-domain automatic deployment method for cloud system software, comprising the following steps: S1. Compile and build in cross-domain automated deployment based on DevOps concepts.

[0019] Compilation and building are used to convert source code into executable software or deployment packages. Compilation refers to the process of converting source code into executable binary files or intermediate codes. During the compilation process, the compiler analyzes, converts, optimizes the source code, and generates the corresponding target files. The compilation process usually includes steps such as syntax checking, lexical analysis, semantic analysis, and code generation. The result of compilation is usually a machine-executable binary file, such as an executable file, a library file, or an intermediate code.

[0020] Building refers to the process of combining and packaging the compiled target files or intermediate codes with other dependencies to generate a final deployable software package or deployment file. The building process usually includes steps such as file copying, resource processing, file merging, code compression, and configuration management. The result of the build can be an installation package, deployment package, container image, etc., which is used to deploy the software to the target environment.

[0021] S11. Based on the DevOps concept, the compilation and construction in cross-domain automated deployment is implemented by combining version control, continuous integration, automated build scripts, environment isolation, build tool chain integration, automated testing, build result storage and continuous deployment. Through continuous delivery and efficient automated deployment processes, the collaboration efficiency of the development team and the quality of software delivery are improved. The specific implementation process is as follows: S111. Version control: Include source code and related resources in the version control system. Common tools include Git, SVN, etc. Ensure that changes to code and configuration files can be tracked to achieve continuous integration and continuous delivery.

[0022] S112. Continuous Integration (CI): Establish a continuous integration environment, use tools such as Jenkins, GitLab CI / CD, Travis CI, etc., monitor code changes in the version control system, and perform corresponding build and test tasks. In the CI process, scripts are written to trigger compilation and build operations.

[0023] S113. Automated build scripts: Write build scripts to guide the build process. The scripts define compilation parameters, build steps, dependency management, etc., making the build process repeatable and automated. The scripts can use tools such as Make, Ant, Maven, Gradle, etc., or use popular scripting languages ​​such as Shell, Python, Node.js, etc.

[0024] S114, Environmental Isolation and Consistency: Use containerization technology such as Docker to create an isolated build environment to ensure the repeatability and consistency of the build process. By using containers, the build process is prevented from being affected by the external environment and can be easily deployed to different target environments.

[0025] S115. Build tool chain integration: Integrate the build tool chain into the automated deployment process. For example, by configuring the connection between the build tool chain and the continuous integration tool, the build, test, and packaging operations are automatically performed after the code is submitted once to generate a deployable software package.

[0026] S116. Automated testing: During the build process, you can integrate automated testing such as unit testing, integration testing, and regression testing. Through automated testing, you can find code and configuration problems early and ensure the quality of the build.

[0027] S117. Secure storage of build results: Store build results (such as build products and images) in a secure place, such as the repository of the continuous integration tool, container registry, or cloud storage, to ensure that the build results are convenient for subsequent deployment and delivery operations.

[0028] S118. Continuous Delivery (CD): Automatically deploy built software packages and related configurations to the target environment. You can use automated deployment tools such as Ansible, orchestration tools such as Kubernetes, or cloud native technologies to achieve seamless continuous deployment.

[0029] S12. In the cloud computing environment, compilation and construction refers to the process of converting the source code of an application into an executable software package or binary file. Among them, the cloud computing environment is characterized by distribution, edge and diversity, so the compilation and construction process needs to take into account the compilation, construction and packaging requirements across edge nodes. Therefore, in the cloud computing environment, the compilation and construction process mainly involves the following aspects: S121. Build environment preparation: In the cloud computing environment, configure an appropriate build environment for the compilation and build process, including installing the compiler, building the tool chain, building dependencies, and configuring the build tools to ensure the consistency of the environment and make corresponding settings based on different edge node requirements.

[0030] S122. Distributed build management: In a cloud computing environment, distributed build management technology is used to utilize the computing resources of edge nodes. By distributing build tasks to different edge nodes for execution, the compilation and build speed can be accelerated, while ensuring the reliability and fault tolerance of distributed build management to cope with communication failures between nodes and node failures.

[0031] S123. Communication across edge nodes: During the compilation and build process, a reliable communication mechanism is established to transmit source code, build files, and dependencies between different edge nodes, ensure the integrity and security of data transmission across nodes, and use edge network optimization technology, data transmission protocols, and encryption mechanisms to meet communication needs.

[0032] S124. Image building and packaging: In a cloud computing environment, the building process involves packaging applications into images for deployment and operation on different edge nodes, using appropriate containerization technologies and tools, such as Docker or Kubernetes, to build and manage container images. During the packaging process, factors such as image size, dependency management, and performance optimization should be taken into account.

[0033] S125. Automated build pipeline: Use continuous integration and continuous deployment (CI and CD) methods to establish automated build pipelines to speed up and simplify the compilation and build process. By defining build rules and processes, automatically trigger build tasks, execute compilation, run tests, and generate build products, improve development efficiency, reduce human errors, and ensure repeatability and consistency.

[0034] In summary, in a cloud computing environment, through the above-mentioned step strategies, an efficient and reliable compilation and build process is achieved in a cloud computing environment, which helps to improve development efficiency, simplify the deployment process, and meet the application requirements in a cloud computing environment.

[0035] S2. Cross-domain automated deployment of cloud monitoring and governance system software.

[0036] S21. Cross-domain automated deployment refers to the automatic deployment of applications or systems from the development stage to different domain names or network areas in the production environment by using automated tools and processes, helping the team to speed up deployment, ensure consistency, and reduce the risk of human errors. The specific implementation methods of cross-domain automated deployment are as follows: S211. Automation tool selection: By selecting suitable automation tools, such as Jenkins, Travis CI, GitLab CI / CD, etc., the function of automatic deployment through configuration files or scripts is provided, and it is integrated with the version control system so that the deployment process can be automatically triggered after the code is submitted.

[0037] S212. Configuration management: Decouple the application's configuration parameters from the deployment process and use independent configuration management tools, such as Ansible, Puppet, or Chef, to manage the application's configuration, avoiding the hassle of manually modifying configuration files in different environments and ensuring configuration consistency.

[0038] S213, Environment Management: By using containerization technologies such as Docker or Kubernetes, you can easily create, deploy and manage containers for different environments. Package applications into portable container images and automatically deploy these containers in different environments to quickly achieve cross-domain deployment.

[0039] S214. Automated testing and verification: During the automated deployment process, automated testing tools such as Selenium and JUnit are used to automatically execute test cases and verify the correctness and stability of the application in different domain names or network areas, which helps to detect potential problems early and ensure the quality of the entire deployment process.

[0040] S215, Continuous Integration and Continuous Delivery: Adopt the practice of continuous integration and continuous delivery to automatically integrate the code submitted by developers into the trunk branch, and automatically perform processes such as building, testing, and deployment. Automated pipelines can reduce error rates, speed up deployment, and enable teams to release new features or fixed versions more frequently.

[0041] S216, Monitoring and logging: During cross-domain automated deployment, timely monitor the application's operating status and performance indicators, and record log information to quickly diagnose and solve problems. Use monitoring tools such as Prometheus and Grafana to collect and display application monitoring data in real time, providing real-time feedback and improvement directions for the deployment process.

[0042] Based on the above cross-domain automated deployment strategy, the speed, consistency and quality of deployment are improved, and the risk of human error is reduced. It can quickly respond to demand changes, reduce duplication of work, and improve the efficiency and productivity of the team. Through automated deployment, the team can better focus on application function development and innovation instead of tedious manual deployment tasks.

[0043] S22. In a cloud computing environment, cross-domain automated deployment means deploying applications or services to multiple regions and managing them. Cross-domain automated deployment in a cloud computing environment can provide lower latency, higher reliability, and better user experience. The steps to achieve cross-domain automated deployment in a cloud computing environment are as follows: S221. Define deployment strategy: Determine the target edge computing nodes for deployment, which can be edge nodes of different cloud providers or other edge computing devices. Evaluate the characteristics, location, and performance of edge nodes according to requirements, and formulate corresponding deployment strategies.

[0044] S222. Selection of automated deployment tools: Select automation tools suitable for deployment in cloud computing environments, such as Kubernetes, Terraform, Ansible, etc., to help automate the creation, configuration, and management of applications on edge computing nodes, while providing deployment capabilities across edge nodes.

[0045] S223. Resource and environment preparation: Create necessary resources and environments on edge computing nodes, such as virtual machine instances, container clusters, storage, etc., and ensure that corresponding credentials and access permissions are set on each edge node to facilitate cross-node operations.

[0046] S223. Define the automated deployment process: Use the selected automation tool to create a deployment script or template to define the deployment process and configuration of the application, including steps such as creating edge node resources, configuring network settings, installing software, and deploying application code.

[0047] S224. Integrate the continuous integration / continuous deployment (CI / CD) pipeline: Integrate the automated deployment process into the CI / CD pipeline to automate the build, test, and deployment of code changes. When the code changes, the pipeline will automatically trigger the deployment process to deploy the application to different edge computing nodes.

[0048] S225, Monitoring and Management: After cross-domain automated deployment in a cloud computing environment, ensure that monitoring and management tools are set up to monitor the performance, availability, and security of the application, specifically involving functions such as log collection, performance indicator monitoring, automatic scaling, and fault recovery.

[0049] S226. Regular updates and optimizations: Based on actual needs and feedback, continuously improve and optimize automated deployment processes and strategies, and regularly review and update deployment scripts, environment configurations, and monitoring settings to ensure optimal performance and cost-effectiveness.

[0050] The complexity of cross-domain automated deployment in a cloud computing environment varies depending on the selected edge computing nodes, deployment tools, and application characteristics. Therefore, during the planning and adjustment process, appropriate consideration and planning should be made based on the actual situation, and full understanding and planning of the application architecture, dependencies, and data storage should be ensured.

[0051] Example 1 Based on the DevOps methodology, a solution for automated packaging and deployment is proposed. The core technologies include Docker virtualization, Kubernetes container orchestration, Jenkins continuous integration, and Harbor image repository services. Together, they build a complete automated deployment process, enabling teams to quickly and efficiently deploy applications in complex cloud environments, achieve continuous integration and continuous deployment, and thus improve development efficiency and product quality.

[0052] According to the determined automated deployment technology, a complete Git+Jenkins+Harbor+Kubernetes automated deployment environment is built locally for testing and running Spring Boot projects. Four servers are configured, namely the code hosting server, continuous integration server, Docker warehouse server and application testing server, and CentOS 7 is used as the virtual machine operating system.

[0053] Among them, the architecture diagram of continuous integration and continuous deployment is as follows Figure 1 As shown, the specific implementation process is as follows: First, the developer submits the code to the Git repository, then Jenkins pulls the project source code from Gitlab, compiles it and generates a jar package, then builds the project into a Docker image and uploads the image to the Harbor private repository, ensuring code version control and automation of the build process, while ensuring the storage and management of the image.

[0054] Secondly, Jenkins triggers the Kubernetes cluster in the production deployment server through SSH remote commands to pull the image from the Harbor private warehouse to the local. Then, the container is created through Kubernetes to ensure the deployment and operation of the application in the production environment, improve the reliability and efficiency of deployment, and reduce manual intervention.

[0055] Finally, users can access the application by accessing the container. The automation of the entire process greatly simplifies the development, construction, and deployment steps, improves the efficiency and consistency of the entire software delivery process, and provides the team with a reliable automated deployment environment.

[0056] S3. Perform automated testing in DevOps cross-domain automated deployment.

[0057] Automated testing verifies the quality and stability of deployment by automatically executing various testing tasks to ensure that the delivered applications run normally in different environments. Its main goal is to reduce the workload of manual testing, improve the efficiency and accuracy of testing, and detect potential problems quickly and reliably.

[0058] S31. The types of automated tests are as follows: S311. Unit Testing: Unit testing is the testing of the smallest testable unit (usually a function or method) in an application. These tests focus on the correctness and expected behavior of the code, and are usually written using a unit testing framework (such as JUnit, PyTest, etc.) and automatically triggered and executed by a continuous integration server (such as Jenkins, Travis CI, etc.).

[0059] S312. Integration Testing: Integration testing is used to test the interaction and integration between different components to ensure that the components can work together correctly and without introducing breaks. Integration testing uses automated testing frameworks (such as Selenium, Cypress, etc.) to simulate user behavior, or uses API testing tools (such as Postman, RestAssured, etc.) to test the integration between interfaces.

[0060] S313, Smoke Testing: Smoke testing is a series of basic functional tests used to verify whether the deployed application can start correctly and work basically. It usually covers critical paths and main functions and is automatically executed after each deployment to detect potential problems as early as possible.

[0061] S314, Performance Testing: Performance testing is to evaluate the performance and reliability of an application under load conditions. It uses automated tools (such as Apache JMeter, Gatling, etc.) to simulate multiple users accessing the application at the same time and collect data such as performance indicators and response time for evaluation.

[0062] S315, Security Testing: Security testing is to evaluate the security and defense capabilities of the application, using automated tools (such as OWASP ZAP, Nessus, etc.) to scan and detect potential security vulnerabilities and risks, and provide corresponding repair suggestions.

[0063] S32. The specific steps to achieve automated testing include: S321. Select appropriate testing tools, write test scripts, integrate test scripts into automated deployment processes to automatically execute tests, and process test results and reports. Automated testing tools usually generate detailed test results and reports, which can be integrated into continuous integration platforms or test management tools for the team to review and analyze.

[0064] S322. Continuous improvement and updating are key to keeping automated testing strategies and scripts in sync with application changes. Regularly review and evaluate test cases and scripts to improve test coverage and accuracy.

[0065] S323. Through automated testing, the quality and reliability of software delivery are improved, the workload of manual testing is reduced, and potential problems are quickly discovered and resolved, playing an important role in DevOps cross-domain automated deployment.

[0066] S33. In the cloud computing environment, automated testing refers to the process of testing and verifying cloud applications and systems using automated technologies and tools, providing an efficient, repeatable and reliable way to evaluate the functionality, performance and stability of cloud applications to ensure that they meet the expected requirements and quality standards. The types of automated testing in the cloud computing environment are as follows: S331. Functional testing: Automated functional testing is designed to verify whether the various functions of cloud applications work as expected. By writing test scripts and using automated testing frameworks, simulating user operations and inputs, automatically executing test cases, and verifying whether the application functions normally, it helps discover potential functional defects and logical errors, and ensures that the application can operate normally according to design requirements in various situations.

[0067] S332. Performance testing: In a cloud computing environment, performance is one of the most important factors. Automated performance testing helps evaluate the performance of cloud applications under different load and stress conditions. By using performance testing tools and load generators to simulate a large number of users using the application at the same time and collect key performance indicators such as response time, throughput, and concurrency, it helps to identify performance bottlenecks and optimize the performance and scalability of the application.

[0068] S333. Security testing: The security of cloud applications is of vital importance. Automated security testing is used to evaluate the security and vulnerabilities of applications. By using automated security testing tools and vulnerability scanners, potential security vulnerabilities and weaknesses are detected, and repair suggestions are provided to help discover potential security risks and strengthen the security of applications.

[0069] S334. Compatibility testing: In a cloud computing environment, applications need to be tested on multiple operating systems, browsers, and devices to ensure their compatibility. Automated compatibility testing uses automated testing tools and platforms to perform cross-platform and cross-device automated testing on applications, helping to identify potential compatibility issues and ensure that applications can run properly in various environments.

[0070] In summary, in the cloud computing environment, automated testing is an important means to ensure the quality and stability of cloud applications. Through the automated testing strategy of the above steps, the application can be fully tested and verified in an efficient and reliable way, helping to discover and solve problems and improve the reliability of the application and user experience.

[0071] S4. Perform concurrent access testing in DevOps cross-domain automated deployment.

[0072] In DevOps cross-domain automated deployment, concurrent access testing is used to simulate multiple concurrent users accessing an application at the same time to evaluate its performance and scalability, and to help identify performance bottlenecks and potential problems of the application under high load. In concurrent access testing, multiple concurrent users are simulated by using automated tools and frameworks, and performance indicators such as application response time, throughput, and resource utilization are recorded.

[0073] S41. The implementation method of concurrent access test is as follows: S411. Stress testing tools: Use specialized stress testing tools, such as Apache JMeter, Gatling, etc., to configure parameters such as the number of concurrent users, request frequency, and load pattern to simulate real concurrent access scenarios.

[0074] S412. Distributed test environment: In order to simulate a larger number of concurrent users, a distributed test environment is set up to spread the load across multiple test machines to simulate more realistic concurrent access situations.

[0075] S413, Session Management: In concurrent access testing, use the session management mechanism provided by the tool, such as JMeter's Cookie Manager, to manage the session status of concurrent users and ensure that each concurrent user has an independent session status.

[0076] S414, Data preparation: Before conducting concurrent access testing, fully prepare the test data in the database, set up simulated data input, etc. to ensure the authenticity and accuracy of the test.

[0077] S415, Monitoring and Analysis: During concurrent access testing, the application's performance indicators are monitored in real time, and logs and exceptions during the test are recorded to help identify performance bottlenecks and potential problems, and provide directions for improvement.

[0078] S416. Result evaluation: After the test is completed, the test results are evaluated and analyzed, including comparing performance indicators such as response time, throughput, and error rate, and comparing them with the preset performance requirements to determine the performance of the application under concurrent access.

[0079] Concurrent access testing is essential to ensuring the performance and scalability of applications, helping teams identify performance bottlenecks and potential problems, and making optimizations and adjustments to ensure the stability and responsiveness of applications under high load. By automating concurrent access testing, large-scale performance evaluations can be performed quickly and accurately, thereby improving the reliability and efficiency of the entire deployment process.

[0080] S42. In the cloud computing environment, concurrent access testing refers to the process of testing and evaluating the concurrent performance of cloud applications, which aims to simulate multiple users who access or use the application at the same time and evaluate the performance and availability of the application under high concurrent load. The implementation process of concurrent access testing in the cloud computing environment is as follows: S421. High concurrent load simulation: When cloud applications are faced with situations where a large number of users access and use them simultaneously, such as online shopping, social media, and real-time data processing, concurrent access testing simulates high concurrent loads. By sending requests in parallel and simulating user behavior, the concurrent processing capabilities of the application are evaluated to help determine whether the system can handle requests under high load conditions and identify potential performance bottlenecks.

[0081] S422, Performance and scalability evaluation: In a cloud computing environment, the performance and scalability of applications are critical. Concurrent access testing helps evaluate the performance and scalability of applications under high concurrent loads. By simulating multiple users sending requests and performing parallel processing at the same time, it measures key performance indicators such as response time, throughput, and concurrent performance, helping to discover and improve application performance bottlenecks and determine whether the system can meet the growing user needs.

[0082] S423. Resource utilization and load balancing: The cloud computing environment provides flexible resource allocation and dynamic expansion capabilities. Concurrent access testing helps evaluate the performance of applications under different resource configurations and tests load balancing capabilities. By simulating different load scenarios and resource allocation strategies, it determines whether the system can effectively utilize resources and appropriately expand and load balance when the load increases.

[0083] S424, High availability and fault tolerance verification: In the cloud computing environment, the high availability and fault tolerance of applications are crucial. Concurrent access testing helps evaluate the availability and fault tolerance of applications under high concurrent loads. By simulating concurrent user requests and failure scenarios, the application's fault tolerance mechanism, fault recovery capability, and load balancing strategy are tested to help discover potential availability issues and take appropriate measures to improve the reliability and stability of the system.

[0084] Therefore, concurrent access testing in a cloud computing environment is an important means to evaluate the concurrent performance, availability, and scalability of applications. By simulating high concurrent loads, evaluating performance indicators, optimizing resource utilization, and verifying high availability, it helps to discover potential problems and improve system performance and stability to provide better user experience and reliable services.

[0085] S5. Continuously optimize the cloud supervision and governance system software.

[0086] After building automated deployment, each research team can discover defects and errors in advance by continuously testing throughout the software development and delivery process, so that problems can be easily solved before they become serious. Continuous testing through automated deployment of pipelines reduces the time required to complete testing, saves developers' time while discovering errors, and bridges the gap between development and testing by providing developers with timely feedback, which is beneficial to the robustness and stability of the software's own functions. The specific process of continuous optimization is as follows: S51. Code automation inspection is a method to check code quality and compliance by using automated tools and rules. Code automation inspection includes the following aspects: S511. Static code analysis: Static code analysis is to check potential problems and errors in the code by parsing the syntax structure and execution path of the code, and detect some common programming errors, such as null pointer references, unsafe type conversions, unused variables, etc. Use tools such as SonarQube, PMD, FindBugs, etc. to perform static code analysis to help find quality problems in the code.

[0087] S512. Code standard check: Code standards are a set of commonly accepted coding rules and standards, such as naming conventions, indentation styles, comment requirements, etc. Through automated tools such as Checkstyle, ESLint, RuboCop, etc., check whether the code complies with the standards and give corresponding repair suggestions, which helps to unify the team's coding style and improve code readability and maintainability.

[0088] S513, Security vulnerability scanning: Security vulnerabilities in the code may lead to potential security risks and vulnerability exploits. Scan code dependencies and applications through automated tools such as OWASP Dependency Check, Snyk, Nessus, etc. to check for known security vulnerabilities and weaknesses so that they can be repaired and security strengthened in a timely manner.

[0089] S514. Unit test coverage check: Unit testing is used to verify the accuracy and reliability of code units (functions, methods, classes, etc.). Through automation tools such as JUnit, PHPUnit, Mocha, etc., unit tests are automatically run and checked, and code coverage reports are generated. Code coverage checks tell developers which parts of the code have been tested and which parts have not been covered, thereby guiding the completeness of the test and improving code quality.

[0090] S515. Integrated code review: Code review is to find problems and potential defects in the code through code review by team members. Through automated tools such as Phabricator and Gerrit, the team can integrate and manage code review, automatically generate review requests, comments and feedback, reduce tedious manual operations, and improve the efficiency and accuracy of review.

[0091] Through the above process, automated code checking helps the development team to discover and resolve problems in the code early in the development process, improve the quality and stability of the code, reduce human errors, unify the team's coding style and quality standards, and enhance the security and maintainability of the code.

[0092] S52. Software performance testing is the process of evaluating the performance and responsiveness of a software system under specific conditions. It aims to measure the performance of the software in terms of load, concurrent users, data volume, response time, etc., and to identify performance bottlenecks, bottleneck causes, and optimization opportunities. Software performance tuning is based on performance testing, and takes optimization measures to improve software performance by analyzing performance test results and related indicators. The general process of software performance testing and tuning is as follows: S521. Determine performance test objectives: Determine the specific objectives and requirements of the test, such as key business scenarios of concern, specific load conditions, and performance indicators (such as response time, throughput, etc.).

[0093] S522. Design performance test plan: Develop a performance test plan, including setting up the test environment, preparing test data, designing test cases, and establishing a load model.

[0094] S523. Execute performance test: According to the designed test plan, perform performance test, simulate actual user load, monitor system performance indicators, and record test results.

[0095] S524. Analyze performance test results: Analyze performance test results and monitoring data by using various performance analysis tools and techniques, such as performance profiling, database query analysis, code review, etc., to identify potential performance bottlenecks and problems.

[0096] S525, Optimization and adjustment: Based on the analysis results, optimize the performance bottlenecks, such as modifying the code, increasing hardware resources, adjusting the system configuration, optimizing database queries, caching strategies, etc.

[0097] S526, retest verification: re-test the performance of the optimized system to verify whether the optimization effect meets expectations and check whether new problems are introduced.

[0098] S527. Continuous monitoring and tuning: Performance tuning is an ongoing process. As the system changes and the business evolves, continuous monitoring and tuning are required to ensure that the system performance remains at an acceptable level.

[0099] Based on the above continuous optimization steps, we can solve potential problems at all levels of the software system from software development to deployment and operation, and further optimize software functions. By performing software performance testing and tuning, we can timely discover system bottlenecks and problems, and provide effective optimization solutions to improve software performance and responsiveness, thereby enhancing user experience, meeting business needs and improving system availability.

[0100] Example 2 This example introduces the specific implementation process of optimizing the automated deployment process: By creating a custom tools image, Maven build, Docker build, Java, Git, kubectl apply and other operations are integrated to meet the various tools and environments required for deployment. Packaging these key tools and environments into one image simplifies the deployment process, reduces the possibility of configuration errors, and improves overall deployment efficiency and consistency.

[0101] Dockerfile is a text file that contains a series of commands that are used to automatically create an image in Docker. In Dockerfile, each line of command generates an image layer, which is cached during the build process so that it can be reused in subsequent builds. This layered mechanism makes image building more efficient. Because it is only rebuilt when the relevant parts change, instead of regenerating the entire image every time. By properly designing Dockerfile, the cache mechanism can be used to speed up the image building process, thereby improving the efficiency of development and deployment. After the custom tools image is built, it is successfully pushed to the Harbor warehouse, such as Figure 2 As shown, the reliability and security of the image are ensured.

[0102] In the Kubernetes plug-in of Jenkins, configure a container template to dynamically generate container instances containing the required tools and environment when needed. Then, in the pipeline script, just reference this predefined container template to quickly create a running environment suitable for automated deployment without repeatedly configuring and installing the required tools.

[0103] This optimization measure greatly simplifies the configuration and management process of the pipeline, reduces maintenance costs, and improves deployment efficiency and consistency. By dynamically creating containers containing necessary tools and environments in the Kubernetes environment, it is possible to more flexibly respond to different deployment requirements, achieve automation of continuous integration and continuous deployment, thereby accelerating software delivery and improving overall development efficiency.

[0104] In addition, the requirements of the automated deployment system of the present invention cover key functions and features such as integration with version control, continuous integration / continuous deployment, multi-environment support, flexible deployment configuration, image management, automated testing, security, monitoring and logging, alarms and notifications, ease of use, scalability, and cost-effectiveness, aiming to ensure an efficient, reliable, and secure software deployment process.

[0105] like Figure 3 As shown in the figure, on the basis of meeting the above comprehensive requirements, the functional modules are further designed to effectively organize the various components of the system to ensure that the system can perform various tasks efficiently and harmoniously. Among them, the automated deployment system consists of user management module, integrated deployment module, image management module, application management module and resource management module.

[0106] The user management module is mainly responsible for user management, such as registration, login, and improvement and modification of user personal information. It also maintains user contact information, such as email, and can query user operation history.

[0107] The integrated deployment module compiles the code into an image. First, the developer uploads the code to the GitLab code repository, and then the Jenkins continuous integration process is automatically triggered, which in turn triggers the Docker image building process. The code is compiled into an image according to the uploaded Dockerfile, and then the image is pushed to the private image library for selection in the subsequent deployment process. The application deployment directly deploys the image to the Kubernetes production environment.

[0108] The image management module provides management operations for images and image repositories. Image management includes image upload / download, image search, and image backup.

[0109] The application management module manages deployed applications, including the creation and deletion of tasks.

[0110] The resource management module consists of two parts: cluster resource management and storage resource management. The resource management module is responsible for the relevant operations of the Kubernetes cluster and the persistence function of container running data, solving the problems of chaotic resource management and container data loss.

[0111] The workflow of the automated deployment system is as follows: First, the user management module is responsible for handling user registration, login, information maintenance and operation history, thereby establishing a sound identity authentication and management system.

[0112] Secondly, the integrated deployment module automatically triggers the continuous integration process through seamless integration with the version control system, builds images and pushes them to the private library for selection in the subsequent deployment process. The image management module provides flexible management functions for images and repositories, including upload, download, search and backup, to ensure effective storage and version control of images. The application management module is responsible for creating and deleting deployed application tasks, and provides monitoring and maintenance functions to ensure the stable operation of applications.

[0113] Finally, the resource management module is responsible for managing the relevant operations of the Kubernetes cluster and the persistence of container operation data, aiming to solve problems such as chaotic resource management and data loss.

[0114] The above functional modules jointly build a complete automated deployment system, providing users with highly controllable, scalable, secure and reliable automated deployment services.

[0115] Therefore, the present invention adopts the above-mentioned DevOps cross-domain automated deployment method of cloud system software, realizes communication and cooperation between development, testing, operation and maintenance and other links through DevOps, breaks the inherent barrier culture between development and operation and maintenance personnel; through automated processes and tools, continuous integration is performed, and the code is frequently integrated into the trunk to quickly discover errors and correct them in time, and the code quality is maintained while the product is quickly iterated; based on the automatic completion of a series of pre-deployment steps such as testing, building, and verification, the product can automatically enter the production stage at any time to provide services to end users and shorten the online cycle of product updates and iterations; through automated deployment, the repeatability of tasks is ensured, the possibility of deployment errors is reduced, resources are effectively utilized, and waste of resources is eliminated.

[0116] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that they can still modify or replace the technical solution of the present invention with equivalents, and these modifications or equivalent replacements cannot cause the modified technical solution to deviate from the spirit and scope of the technical solution of the present invention.

Claims

1. A DevOps cross-domain automated deployment method for cloud system software, characterized in that: The following steps are involved: S1. Compile and build in cross-domain automated deployment based on DevOps concepts; S2. Cross-domain automated deployment of cloud monitoring and governance system software; S3. Perform automated testing in DevOps cross-domain automated deployment; S4. Perform concurrent access testing in DevOps cross-domain automated deployment; S5. Continuously optimize the cloud supervision and governance system software.

2. According to claim 1, a DevOps cross-domain automated deployment of cloud system software method is characterized by: In step S1, based on the DevOps concept, the compilation and construction in cross-domain automated deployment is implemented by combining version control, continuous integration, automated build scripts, environment isolation, build tool chain integration, automated testing, build result storage and continuous deployment.

3. According to claim 1, a DevOps cross-domain automated deployment of cloud system software method is characterized in that: In step S1: In the cloud computing environment, the specific process of compiling and building is as follows: S121. Build environment preparation: including installing compilers, building tool chains, building dependencies, and configuring build tools; S122, using distributed build management technology to utilize computing resources of edge nodes, and distributing build tasks to different edge nodes for execution; S123. During the compilation and construction process, a communication mechanism is established to transmit source code, build files, and dependencies between different edge nodes; S124. Use appropriate containerization technologies and tools to build and manage container images, and deploy and run them on different edge nodes. S125. Use continuous integration and continuous deployment methods to establish an automated build pipeline.

4. According to claim 1, a DevOps cross-domain automated deployment of cloud system software method is characterized in that: In step S2, the specific implementation method of cross-domain automated deployment is as follows: S211. Automation tool selection: By selecting appropriate automation tools, the function of automatic deployment through configuration files or scripts is provided, and it is integrated with the version control system so that the deployment process can be automatically triggered after the code is submitted; S212, Configuration management: Decouple the application configuration parameters from the deployment process and use independent configuration management tools to manage the application configuration; S213, Environment Management: Create, deploy and manage containers for different environments by using containerization technology; S214, Automated testing and verification: During the automated deployment process, automated testing tools are used to automatically execute test cases to verify the correctness and stability of the application in different domain names or network areas; S215, Continuous Integration and Continuous Delivery: Adopt the practice of continuous integration and continuous delivery to automatically integrate the code submitted by developers into the trunk branch, and automatically carry out the building, testing, and deployment processes; S216, Monitoring and logging: During cross-domain automated deployment, timely monitor the running status and performance indicators of the application and record log information; Use monitoring tools to collect and display application monitoring data in real time.

5. According to claim 1, a DevOps cross-domain automated deployment of cloud system software method is characterized in that: In step S2, the steps of cross-domain automated deployment in a cloud computing environment are as follows: S221. Define deployment strategy: determine the target edge computing nodes for deployment, evaluate the characteristics, location, and performance of the edge nodes according to the requirements, and formulate corresponding deployment strategies; S222. Select automated deployment tools: Select automated tools suitable for deployment in a cloud computing environment to help automate the creation, configuration, and management of applications on edge computing nodes, while providing cross-edge node deployment capabilities; S223, resource and environment preparation: Create necessary resources and environment on edge computing nodes, and ensure that corresponding credentials and access rights are set on each edge node to facilitate cross-node operations; S223, define the automated deployment process: use the selected automation tool to create a deployment script or template to define the deployment process and configuration of the application, including creating edge node resources, configuring network settings, installing software, and deploying application code steps; S224, Integrated Continuous Integration / Continuous Deployment Pipeline: Integrate the automated deployment process into the integrated continuous integration / continuous deployment pipeline to automate the building, testing, and deployment of code changes; When the code changes, the pipeline will automatically trigger the deployment process to deploy the application to different edge computing nodes; S225, Monitoring and Management: After cross-domain automated deployment in a cloud computing environment, ensure that monitoring and management tools are set up to monitor the performance, availability, and security of the application, specifically involving log collection, performance indicator monitoring, automatic scaling, and fault recovery functions; S226. Regular updates and optimizations: Based on actual needs and feedback, continuously improve and optimize automated deployment processes and strategies, and regularly review and update deployment scripts, environment configurations, and monitoring settings.

6. According to claim 1, a DevOps cross-domain automated deployment of cloud system software method is characterized by: In step S3, the automated test types include unit testing, integration testing, smoke testing, performance testing, and security testing; The types of automated testing in cloud computing environments include: functional testing, performance testing, security testing, and compatibility testing.

7. The method of DevOps cross-domain automated deployment of cloud system software according to claim 1, characterized in that: In step S3, the specific steps of implementing automated testing include: S321. Select appropriate testing tools, write test scripts, integrate the test scripts into the automated deployment process to automatically execute tests, and process test results and reports; where the automated testing tool generates detailed test results and reports, which are integrated into the continuous integration platform or test management tool for the team to review and analyze; S322. Continuously improve and update automated testing strategies and scripts with application changes, and regularly review and evaluate test cases and scripts.

8. According to claim 1, a DevOps cross-domain automated deployment of cloud system software method is characterized in that: In step S4, the implementation process of concurrent access testing in the cloud computing environment is as follows: S421, high concurrent load simulation; S422, performance and scalability evaluation; S423, resource utilization and load balancing; S424, high availability and fault tolerance verification.

9. The method of DevOps cross-domain automated deployment of cloud system software according to claim 1, characterized in that: In step S5, the specific process of continuous optimization is as follows: S51. Code automation inspection, wherein the code automation inspection includes the following aspects: S511. Static code analysis is to check potential problems and errors in the code by analyzing the syntax structure and execution path of the code, and detect some common programming errors; S512, Code Standard Check: Use automated tools to check whether the code complies with the standards and give corresponding repair suggestions; S513, Security vulnerability scanning: Scan code dependencies and applications through automated tools to check for known security vulnerabilities and weaknesses, and promptly repair and enhance security; S514, Unit test coverage check: Use automation tools to automatically run and check unit tests and generate code coverage reports to inform developers which parts of the code have been tested and which parts have not been covered, thereby guiding the completeness of the test and improving code quality; S515. Integrated code review: Help teams integrate and manage code reviews through automated tools, automatically generating review requests, comments, and feedback; S52. The general process of software performance testing and tuning is as follows: S521. Determine the performance test objectives, including key business scenarios, specific load conditions, and performance indicators; S522. Design performance test plan, including setting up test environment, preparing test data, designing test cases and establishing load model; S523. Execute performance test: Execute performance test according to the designed test plan, simulate actual user load, monitor system performance indicators, and record test results; S524. Analyze performance test results: Analyze performance test results and monitoring data by using various performance analysis tools and techniques to identify potential performance bottlenecks and problems; S525, Optimization and adjustment: Optimize performance bottlenecks based on the analysis results; S526, retest verification: retest the performance of the optimized system to verify whether the optimization effect meets expectations and check whether new problems are introduced; S527. Continuous monitoring and tuning: As the system changes and the business evolves, continuous monitoring and tuning are performed to ensure that the system performance remains at an acceptable level.

10. The automated deployment system of the DevOps cross-domain automated deployment method for cloud system software according to claim 1, characterized in that: It consists of a user management module, an integrated deployment module, an image management module, an application management module and a resource management module.

Citation Information

Patent Citations

  • Rapid multi-tenant service disposition method based on cloud platform

    CN106897947A

  • Automatic deployment method for distributed cloud system

    CN108924217A

  • Continuous integration method and device, computer equipment and storage medium

    CN113703730A

  • Container-based continuous delivery method and device

    CN114489934A

  • Software quality prediction continuous integration method

    CN114968809A

Cited By

  • System and method for automatically generating and importing test data, terminal and medium

    CN120631788A