Continuous Integration Build Logic Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


