IP Library › Granted Patent US 11,055,078
Granted Patent B2
US 11,055,078 · App. 16/381,427 · Granted Jul 6, 2021

Systems and methods for deploying software products to environments

Inventors: Philip Mathew Arthur Hodder (Strathfield, AU); Jeroen Paul Magdalena De Raedt (Darlington, AU); Samuel Joseph Tannous (Moorebank, AU); Geoff Robert Crain (Summer Hill, AU); Nathan Wayne Burrell (Woy Woy, AU)
Assignees: ATLASSIAN PTY LTD.; ATLASSIAN INC.
G06F8/60G06F8/71G06F16/1774G06F8/30G06F8/40G06F8/65G06F11/3409G06F11/368
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,055,078
App. No.
16/381,427
Granted
Jul 6, 2021
Kind
B2
Abstract

Described herein is a computer-implemented method for deploying a software product to an environment. The method comprises defining an environment lock for the environment, the environment lock being configured to selectively prevent deployment of a software product to the environment. The method further comprises receiving a request from a requesting entity to deploy a designated software product to the environment, determining a status of the environment lock, and either permitting or preventing the deployment of the designated software product to the environment by reference to the determined status of the environment lock.

Claims (58)

1. A computer-implemented method for deploying a software product to an environment, the method comprising:

receiving a request from a requesting entity to deploy a designated software product to an environment, the requesting entity comprising a deployment step that is scheduled to execute in the environment;

identifying a repository within a database associated with the environment;

evaluating a status of an environment lock associated with the repository;

in response to the status of the environment lock being evaluated as locked, preventing deployment of the designated software product to the environment; and

in response to the status of the environment lock being evaluated as available:

permitting deployment of the designated software product to the environment;

updating the status of the environment lock to be marked as locked;

assigning an identifier of the deployment step to an owner attribute associated with the repository, the owner attribute identifying that the deployment step is an owner of the environmental lock; and

in response to receiving an indication from the deployment step that it has completed deploying the designated software product:

confirming that the deployment step is the owner of the lock; and

updating the status of the environmental lock to be marked as available.

2. The method according to claim 1 , wherein the status of the environment lock is part of the attribute of the environment.

3. The method according to claim 1 , wherein, after the status of the environment lock is marked as locked, deployment of the designated software product to the environment is permitted for the requesting entity assigned to the attribute of the environment.

4. The method according to claim 3 , wherein the environment lock is either locked or marked as available.

5. The method according to claim 4 , further including the steps of:

receiving a notification from the requesting entity that the permitted deployment to the environment has completed; and

modifying the owner attribute to reflect that the deployment step is no longer assigned to the owner attribute.

6. The method according to claim 1 , wherein the environment is at least one of a staging environment or a production environment.

7. The method according to claim 1 , wherein the request is a deployment command to be executed within one or more of a continuous integration service or a continuous deployment service.

8. The method according to claim 7 , wherein the environment is running on-premises or in a public cloud.

9. A system for deploying a software product to an environment, the system comprising:

a processor;

a non-transitory computer-readable storage medium storing sequences of instructions, which when executed by the processor, cause the processor to:

receive a request from a requesting entity to deploy a designated software product to the environment, the requesting entity comprising a deployment step tht is scheduled to execute in the environment;

identify a repository within a database associated with the environment;

evaluate a status of an environment lock associated with the repository;

in response to the status of the environment lock being evaluated as locked, prevent deployment of the designated software product to the environment; and

in response to the status of the environment lock being evaluated as available:

permit deployment of the designated software product to the environment;

update the status of the environment lock to be marked as locked; and

assign an identifier of the deployment step to an owner attribute associated with the repository, the owner attribute indicating that the deployment step owns the environmental lock; and

in response to the deployment step indicating that it has completed deploying the designated software product:

confirming that the deployment step is the owner of the lock; and′

updating the status of the environmental lock to be marked as available.

10. The system according to claim 9 , wherein the status of the environment lock is part of the attribute of the environment.

11. The system according to claim 9 , wherein, after the status of the environment lock is marked as locked, deployment of the designated software product to the environment is permitted for the requesting entity assigned to the attribute of the environment.

12. The system according to claim 11 , wherein the environment lock is either locked or marked as available.

13. The system according to claim 12 , wherein the sequences of instructions, which when executed by the processor, further cause the processor to:

receive a notification from the requesting entity that the permitted deployment to the environment has completed; and

modify the owner attribute to reflect that the deployment step is no longer assigned to the owner attribute.

14. The system according to claim 9 , wherein the environment is at least one of a staging environment or a production environment.

15. The system according to claim 9 , wherein the request is a deployment command to be executed within one or more of a continuous integration service or a continuous deployment service.

16. The system according to claim 15 , wherein the environment is running on-premises or in a public cloud.

17. A non-transitory computer-readable storage medium storing one or more sequences of instructions, which when executed by a processor, cause the processor to:

receive a request from a requesting entity to deploy a designated software product to an environment, the requesting entity comprising a deployment step that is scheduled to execute in the environment;

identify a repository within a database associated with the environment;

evaluate a status of an environment lock associated with the repository;

in response to the status of the environment lock being evaluated as available:

permit deployment of the designated software product to the environment;

update the status of the environment lock to be marked as locked; and

assign an identifier of the deployment step to an owner attribute associated with the repository, the owner attribute indicating that the deployment step owns the environmental lock; and

in response to the deployment step indicating that it has completed deploying the designated software product:

confirming that the deployment step is the owner of the lock; and

updating the status of the environmental lock to be marked as available.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the status of the environment lock is part of the attribute of the environment.

19. The non-transitory computer-readable storage medium of claim 17 , wherein deployment of the designated software product to the environment is permitted for the requesting entity assigned to the attribute of the environment.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the environment lock is either locked or marked as available.

Assignments (2)
CHANGE OF NAME Recorded Aug 5, 2022
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 061085/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2019
From: HODDER, PHILIP MATHEW ARTHUR; DE RAEDT, JEROEN PAUL MAGDALENA; TANNOUS, SAMUEL JOSEPH; CRAIN, GEOFF ROBERT; BURRELL, NATHAN WAYNE
To: ATLASSIAN PTY LTD; ATLASSIAN, INC.
Reel/Frame 048860/0739 →
Continuity (2)
Provisional Application 62737943 · Sep 28, 2018
Related Publication 20200104107A1 · Apr 2, 2020
Cited By (1)
US 12,592,824