Source Code Deployment Tracking via Automated CI Feedback Loops

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex software development environments, it is challenging for developers to track which source code integrations have been deployed to which environments, especially when hundreds or thousands of updates are continuously made across testing, staging, and production stages.

Innovation Solution

A system is developed to track deployment history, generate dashboards, and allow developers to review and interact with deployment information, including the ability to promote source code integrations from one environment to another directly from user interfaces, integrating with SCM and CI management systems like Git and Bitbucket Pipelines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If continuous integration is used to frequently update source code in shared repository, then software development productivity is improved, but tracking which integrations are deployed to which environments becomes difficult

Engineering Contradiction:
Improvesoftware development productivityVSAvoiddeployment tracking information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system implements automated feedback mechanisms by continuously monitoring the shared repository for new integrations and automatically tracking their deployment status across multiple environments. The CI management system receives notifications when integrations are added, automatically determines deployment targets, and updates deployment records, creating a closed-loop feedback system that maintains accurate deployment information without manual intervention

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces a CI management system as an intermediary between the source code repository and deployment environments. This intermediary automatically receives integration notifications, determines which environments should receive the deployment, executes the deployment process, and tracks the status, thereby eliminating the need for manual tracking while maintaining productivity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If manual tracking of source code deployments is performed, then deployment information can be monitored, but time consumption and operational efficiency deteriorate

Engineering Contradiction:
Improvedeployment information visibilityVSAvoidtime for tracking deployments
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system enables self-service deployment tracking by automatically generating and maintaining deployment records without human intervention. The CI management system autonomously monitors the repository, determines deployment targets based on integration metadata, executes deployments to appropriate environments, and updates tracking information, allowing the system to manage its own deployment state

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements preliminary action by pre-configuring deployment rules and environment mappings in the CI management system. When a new integration is detected, the system has already established the criteria for determining target environments, allowing it to immediately and automatically route the deployment without requiring manual analysis or decision-making

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11520574B2Systems and methods for promoting a source code revision for deployment in a target environment
Publication Date: 2022.12.06 ATLASSIAN US INC
  • US11520574B2 patent drawing
  • US11520574B2 patent drawing
  • US11520574B2 patent drawing

AI summary

In an embodiment, a computer-implemented method for tracking source code deployments, the method comprises receiving an event descriptor, the event descriptor indicating that a source code repository is updated with a source code integration; retrieving a deployment description associated with the source code repository; comparing the event descriptor with the deployment description to determine whether the source code integration needs to be deployed; in response to determining that the source code integration needs to be deployed, deploying the source code integration; upon completion of the source code deployment, communicating deployment information corresponding to the completed source code deployment to a tracking system, the deployment information comprising at least a deployment identifier, and a source code integration identifier, the tracking system configured to utilize the source code integration identifier to query one or more external systems and automatically retrieve further information associated with the source code integration.