Dynamic CI/CD Pipeline Selection via Change Level Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing CI/CD systems face challenges in effectively selecting the appropriate pipeline for testing changes due to the complexity of projects, which often requires a static list of pipelines that cannot cover all possible changes, leading to inefficient maintenance and potential missed testing scenarios.

Innovation Solution

The implementation of a dynamic CI/CD pipeline mapping system that generates a data structure reflecting the execution configuration of each pipeline, allowing for the selection of the most suitable pipeline based on the level of change, such as file, block, or line level changes, and notifies users if additional pipelines are needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a static list of CI/CD pipelines is used to cover all possible changes, then completeness of testing coverage is improved, but device complexity and maintenance effort increase significantly

Engineering Contradiction:
Improvetesting coverage completenessVSAvoidpipeline list complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent transforms the static pipeline list into a dynamic system that automatically generates and updates pipeline configurations based on detected code changes. The system analyzes change levels (file, block, line) and dynamically determines which pipelines to execute, eliminating the need for manual maintenance of comprehensive static pipeline lists while ensuring appropriate testing coverage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system introduces change level parameters (file level, block level, line level) to characterize code modifications. By monitoring these parameters and using them to select pipelines, the system adapts pipeline execution to the specific nature of changes without requiring a fixed comprehensive pipeline list, thus reducing complexity while maintaining reliability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If a static list of CI/CD pipelines is maintained to cover all scenarios, then all possible changes can be tested, but ease of operation and maintenance deteriorate

Engineering Contradiction:
Improvetesting coverageVSAvoidmaintenance effort
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements self-service by automatically detecting code changes, analyzing their scope and level, and autonomously determining which CI/CD pipelines to execute. This eliminates the need for operators to manually maintain and update comprehensive pipeline lists, significantly reducing maintenance effort while ensuring appropriate testing coverage through automated decision-making.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms that monitor code changes and use this information to dynamically select pipelines. The feedback loop continuously adapts pipeline execution based on detected changes, ensuring comprehensive testing coverage without requiring manual intervention or maintenance of static pipeline configurations.

Inventive Principle:
Principle #23Feedback

3Reliability

If comprehensive static pipeline lists are used, then all changes can be tested, but productivity and efficiency decrease due to constant maintenance

Engineering Contradiction:
Improvetesting completenessVSAvoidCI/CD process efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic pipeline selection that adapts to the specific characteristics of each code change. By automatically analyzing change levels and dynamically determining pipeline execution, the system eliminates wasteful maintenance activities and focuses computational resources only on relevant pipelines, thereby improving productivity while maintaining testing completeness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses change level parameters to optimize pipeline execution efficiency. By monitoring parameters such as file level, block level, and line level changes, the system intelligently selects only the necessary pipelines to execute, avoiding unnecessary testing overhead and improving overall CI/CD process productivity while ensuring comprehensive coverage of actual changes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11842188B2Continuous integration and deployment pipeline selection based on dynamic mapping
Publication Date: 2023.12.12 RED HAT INC
  • US11842188B2 patent drawing
  • US11842188B2 patent drawing
  • US11842188B2 patent drawing

AI summary

For each continuous integration and continuous delivery/deployment (CI/CD) pipeline of a plurality of CI/CD pipelines created for a project, a data structure reflecting an execution configuration of the respective CI/CD pipeline is created. A request to submit a code change to the project is received. Among the plurality of CI/CD pipelines, at least one CI/CD pipeline having the data structure that matches the code change to the project is identified. The code change to the project on the at least one identified CI/CD pipelines is executed.