Continuous Integration Build Logic Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face difficulties in finding and implementing the detailed information, including commands and logic, required to perform tasks in continuous integration systems, especially when deploying software applications across different environments and managing complex build configurations.

Innovation Solution

The introduction of predefined tasks within continuous integration management systems allows developers to select and add tasks to their build configurations without needing to know the underlying build logic, with the system automatically adding the necessary commands, artefacts, and VM images, and storing build logic in a central repository for reuse and easy maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If developers provide detailed information including commands and build logic for specific environments and testing tools, then the CI system can perform precise builds and tests, but the configuration process becomes complex and difficult to maintain

Engineering Contradiction:
Improvebuild configuration precisionVSAvoidconfiguration complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments build logic into reusable, parameterized templates that can be independently configured and executed. Instead of requiring developers to write complete build logic for each environment, the system divides the build process into modular components (templates with parameters) that can be selectively applied, reducing configuration complexity while maintaining precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses parameterized templates where build logic is defined once with placeholders for environment-specific parameters. Developers only need to provide parameter values (e.g., environment name, testing tool version) rather than complete build logic, allowing the same template to adapt to different environments while maintaining build precision.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If developers store complete build logic in configuration files for each repository, then builds can be executed independently, but memory usage increases and updates become difficult

Engineering Contradiction:
Improvebuild independenceVSAvoidconfiguration data volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent creates lightweight copies of build logic in the form of parameterized templates stored centrally. Instead of storing complete build logic in each repository's configuration file, the system stores template references with parameter values. This reduces configuration data volume while maintaining build independence through the use of template instances that can be executed autonomously.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent makes build logic universal by creating templates that can serve multiple repositories and environments. A single parameterized template can be instantiated multiple times with different parameters, eliminating the need to store duplicate build logic across multiple configuration files, thus reducing overall data volume while maintaining reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If developers manually update build logic in each configuration file, then each repository maintains its own build process, but updates are time-consuming and error-prone

Engineering Contradiction:
Improvebuild process customizationVSAvoidupdate time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent extracts build logic from individual repository configuration files and places it in a centralized template repository. This separation allows updates to be made to the central template definition once, and the changes automatically propagate to all repositories that use that template, eliminating manual updates in each configuration file while preserving build process customization through parameter selection.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a feedback mechanism where template updates in the central repository automatically trigger updates in all dependent configuration files. When a template is modified, the system notifies and updates all repositories using that template, ensuring consistency across the system without requiring manual intervention, thus reducing update time while maintaining adaptability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11093377B2Systems and methods for testing source code
Publication Date: 2021.08.17 ATLASSIAN PTY LTD
  • US11093377B2 patent drawing
  • US11093377B2 patent drawing
  • US11093377B2 patent drawing

AI summary

A continuous integration system and method for testing source code is disclosed. The continuous integration system allows developers to create predefined tasks for builds—each task comprises information to perform a particular build step. In certain embodiments, developers can select a particular task from a set of built-in tasks to add to their build configuration without having to know or determine the underlying build logic required to perform the task (such as the commands needed to execute the task, the artefacts required for the task, etc.). In particular, the disclosed systems and methods allow developers to add one or more predefined tasks in their build configuration, without adding the build logic associated with the task in the configuration file.