IP Library Granted Patent US 11,106,451
Granted Patent B2
US 11,106,451 · App. 16/599,923 · Granted Aug 31, 2021

Automated software package deployment

Inventors: Raj Advani (Santa Ana, CA); Christopher Wall (Austin, TX); Benjamin Snyder (Oakland, CA); Wade Wegner (San Francisco, CA); Josh Kaplan (Orinda, CA)
Assignee: salesforce.com, inc.
G06F8/65G06F8/38G06F8/61G06F8/71
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,106,451
App. No.
16/599,923
Granted
Aug 31, 2021
Kind
B2
Abstract

The application pertains to the automated deployment of software packages to an enterprise's testing, staging and production environments. It does this by detecting events with respect to the enterprise's code base and, upon detection of a change in a package, identifies the application(s) that include that package. For each such application, a workflow is provided defining a pipeline of environments in which a bundle of packages that make up that application are to be installed for testing, staging or production. A software package in which an event has occurred is installed in those environments on a stepwise basis per that workflow and the application is (re)built there for testing, etc. A status of the bundle of packages that make up an application in each of the respective environments is shown in a graphical user interface.

Claims (28)

1. A method of migrating a software package through a pipeline of multiple installation environments, the method comprising:

detecting an event with respect to the software package;

in response to detecting the event, identifying an application that includes the software package with respect to which the event was detected, and for the identified application, identifying at least one workflow specifying the pipeline of multiple installation environments in which multiple bundles of packages that make up the identified application are to be installed;

with respect to at least one of the identified workflows, installing the software package with respect to which the event was detected in at least a first installation environment specified by the at least one workflow, and building the identified application with the respective multiple bundles of packages in the first installation environment; and

generating a graphical user interface representing (i) multiple bundles of packages that define the identified application, (ii) software packages that make up each bundle of the multiple bundles of packages, and (iii) multiple installation environments in which the software packages of the multiple bundles are installed;

signaling, through the graphical user interface, a status of the software package with respect to which the event was detected in each of the multiple installation environments specified by the at least one identified workflow for the identified application by

generating a common visual cue on the graphical user interface identifying each software package in the bundle of packages and

identifying a presence and the status of each such software package in a repository from which the software package emanates and the installation environment in which the software package is installed.

2. The method of claim 1 , wherein the signaling further includes signaling a status of each software package in the bundle of packages that make up the application in each of the pipeline of environments specified by the workflow for the application.

3. The method of claim 1 , wherein the detecting further includes detecting any of an update event and an approval event with respect to the software package.

4. The method of claim 3 , wherein the detecting further includes detecting the event in any of a repository and the environments in the pipeline of environments specified by the workflow.

5. The method of claim 4 , wherein the detecting further includes polling the repository and the environments in the pipeline of environments specified by the workflow to detect the event with respect to the software package.

6. The method of claim 1 , wherein the installing further includes installing the software package in a second environment in the pipeline of environments specified by the workflow for the application.

7. The method of claim 1 , wherein the signaling further includes causing the graphical user interface to identify the bundle of packages that make up at least one of the applications.

8. A non-transitory computer-readable media including computer instructions configured to cause a digital data device to perform the steps of:

detecting an event with respect to a software package;

in response to detecting said event, identifying one or more applications that include the software package, and for each identified one or more applications, identifying a workflow specifying a pipeline of environments in which a bundle of packages that make up the each identified one or more applications are to be installed;

with respect to at least one of the identified workflows, installing the software package in a first environment in the pipeline of environments specified by the workflow, and building the identified one or more applications with the respective bundle of packages in the first environment in the pipeline of environments;

generating a graphical user interface representing (i) multiple bundles of packages that define the identified application, (ii) software packages that make up each bundle of the multiple bundles of packages, and (iii) multiple installation environments in which the software packages of the multiple bundles are installed;

signaling, through the graphical user interface, a status of the software package with respect to which the event was detected in each of the multiple installation environments specified by the at least one identified workflow for the identified application by

generating a common visual cue on the graphical user interface identifying each software package in the bundle of packages and

identifying a presence and the status of each such software package in a repository from which the software package emanates and the installation environment in which the software package is installed.

9. The non-transitory computer-readable media including computer instructions of claim 8 , wherein the signaling further includes signaling a status of each software package in the bundle of packages that make up the application in each of the one or more environments in the pipeline of environments specified by the workflow for the application.

10. The non-transitory computer-readable media including computer instructions of claim 8 , wherein the detecting further includes detecting any of an update event and an approval event with respect to the software package.

11. The non-transitory computer-readable media including computer instructions of claim 10 , wherein the detecting further includes detecting said event in any of a repository and the environments in the pipeline of environments specified by the workflow.

12. The non-transitory computer-readable media including computer instructions of claim 11 , wherein the detecting further includes polling the repository and the environments in the pipeline of environments specified by the workflow to detect an event with respect to the software package.

13. The non-transitory computer-readable media including computer instructions of claim 8 , wherein the installing further includes installing the software package in a second environment in the pipeline of environments specified by the workflow for the application.

14. The non-transitory computer-readable media including computer instructions of claim 8 , wherein the signaling further includes causing the graphical user interface to identify the bundle of packages that make up at least one of the applications.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0444 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: ADVANI, RAJ; WALL, CHRISTOPHER; SNYDER, BENJAMIN; WEGNER, WADE; KAPLAN, JOSH
To: SALESFORCE.COM, INC.
Reel/Frame 052950/0684 →
Continuity (3)
Continuation 15825741 · Nov 29, 2017
Provisional Application 62581505 · Nov 3, 2017
Related Publication 20200042310A1 · Feb 6, 2020
Cited By (1)
US 12,554,558