CI/CD Pipeline Variable Precedence Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

CI/CD pipelines face challenges in managing complex environment variations, requiring extensive conditional logic and compromising security and maintainability, especially when adding new environments or locations, due to the lack of simplicity and flexibility.

Innovation Solution

A secure and flexible pipeline management solution is implemented by determining the precedence of variable definitions based on the order of file receipt, generating a configuration file, and executing the CI/CD pipeline accordingly, supporting multiple inheritances and string interpolation to simplify pipeline management and maintain security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If extensive conditional logic is used to address environment variations, then the pipeline can handle multiple environments, but the pipeline complexity increases and maintainability decreases

Engineering Contradiction:
Improveenvironment variation handlingVSAvoidpipeline complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments environment-specific configurations into separate configuration files (e.g., default.yaml, linux.yaml, windows.yaml) rather than embedding all logic in a single pipeline. Each file contains only the relevant environment-specific parameters, allowing the pipeline to remain simple while supporting multiple environments through file selection based on the target environment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a configuration file as an intermediary between the pipeline and environment-specific settings. The pipeline reads from a selected configuration file rather than containing embedded conditional logic for each environment, thereby reducing pipeline complexity while maintaining adaptability across different environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If environment-specific logic is interwoven in the pipeline, then the pipeline can accommodate different environments, but adding new environments becomes burdensome

Engineering Contradiction:
Improveenvironment accommodationVSAvoidease of adding new environments
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent segments environment configuration into separate, standalone YAML files that can be independently created and maintained. To add a new environment, one only needs to create a new configuration file with the appropriate environment-specific parameters, without modifying the pipeline code itself, thereby making it easy to add new environments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses parameter changes through configuration files rather than code changes to accommodate new environments. By selecting different configuration files based on the target environment, the system can adapt to new environments by simply providing new parameter sets in YAML format, avoiding the need to modify pipeline logic.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If conditional logic is used for each environment, then the pipeline can be environment-aware, but security can become compromised

Engineering Contradiction:
Improveenvironment awarenessVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a configuration file as an intermediary that securely stores environment-specific parameters. The pipeline reads from this external configuration file rather than having embedded credentials or hard-coded environment logic, thereby improving security while maintaining environment awareness. The configuration file acts as a trusted source that separates sensitive data from the pipeline code.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If no version control is used for configurations, then the pipeline can be simple, but a thorough audit trail cannot be generated

Engineering Contradiction:
Improvepipeline simplicityVSAvoidaudit trail
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent implements version control for configuration files, creating a feedback mechanism where changes to configuration files are tracked and recorded. This allows the system to maintain simplicity in the pipeline while generating a thorough audit trail through version control history, enabling tracking of configuration changes over time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11847441B2Secure and flexible pipeline management tool
Publication Date: 2023.12.19 MASTERCARD INT INC
  • US11847441B2 patent drawing
  • US11847441B2 patent drawing
  • US11847441B2 patent drawing

AI summary

A secure and flexible pipeline management solution includes determining, based at least on an order in which files are received, a precedence for defining variables, and when a file has multiple definitions for a variable, the order of appearance of the definitions defines precedence. A configuration file is generated with controlling definitions, which are based on the precedences, and a continuous integration continuous delivery (CI/CD) pipeline is executed dependent upon the configuration file. Multiple inheritances and string interpolation are supported. An advantageous result is a significantly simplified CI/CD pipeline that is secure, flexible, and is agnostic to the target environment. Thus, adding a new environment may not require the conventional (burdensome) task of adding further logical dependencies into the pipeline itself. The disclosed solution thus enhances efficiency and reduces errors when maintaining code bases.