IP Library Granted Patent US 11,249,739
Granted Patent B2
US 11,249,739 · App. 17/097,318 · Granted Feb 15, 2022

Systems and methods for building generic CI/CD pipelines

Inventors: Brandon Atkinson (North Chesterfield, VA); Christopher Bowers (Midlothian, VA); Dallas Edwards (Midlothian, VA)
Assignee: Capital One Services, LLC
G06F8/60G06F8/70G06F8/71G06F9/455G06F9/544G06F11/3664G06F11/3688
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,249,739
App. No.
17/097,318
Granted
Feb 15, 2022
Kind
B2
Abstract

At least one application may include instructions comprising application instructions and a plurality of separate pipeline definition instructions. The application instructions may be within a virtual container including at least one program that is generically executable in a plurality of different continuous integration and delivery (CI/CD) environments. Each of the plurality of separate pipeline definition instructions may be configured for each of the plurality of different CI/CD environments such that each pipeline definition may operate only in the CI/CD environment for which it is created. Each pipeline definition may be configured to cause the CI/CD environment for which it is created to execute the at least one program.

Claims (41)

1. A method of deploying at least one generic pipeline, the method comprising:

creating, by a processor, a virtual container including at least one generic pipeline that is generically executable in a plurality of different continuous integration and delivery (CI/CD) environments, the creating comprising:

incorporating at least one stage script into the at least one generic pipeline, the at least one stage script defining a flow for the at least one generic pipeline and calling on utility libraries to perform their functions at appropriate points in the flow; and

provisioning the virtual container with features from at least a portion of at least one utility library, the features including instructions for at least one generic application task during at least one step in the flow of the at least one generic pipeline;

creating, by the processor, a separate pipeline definition for executing the generic pipeline within each of the plurality of different CI/CD environments, each pipeline definition indicating the CI/CD environment for which it is created and being configured to operate only in the CI/CD environment for which it is created, and each pipeline definition comprising a build script that, when executed in the CI/CD environment for which it is created, causes the CI/CD environment to execute the at least one generic pipeline; and

deploying, by the processor, at least one of the pipeline definitions along with the virtual container in the CI/CD environment for which the at least one of the pipeline definitions is created, thereby enabling execution of the at least one generic pipeline within the CI/CD environment for which the at least one of the pipeline definitions is created, wherein transitioning a pipeline from the CI/CD environment for which the at least one of the pipeline definitions is created to another CI/CD environment includes customizing only the build script for the other CI/CD environment.

2. The method of claim 1 , wherein the creating of the virtual container further comprises creating the at least one utility library and incorporating the at least one utility library into the at least one generic pipeline.

3. The method of claim 1 , further comprising creating, by the processor, the at least one stage script.

4. The method of claim 1 , wherein each separate pipeline definition comprises a build script for the CI/CD environment for which the separate pipeline definition is created, the build script being configured to cause the CI/CD environment to cause the at least one generic pipeline to execute within the virtual container.

5. The method of claim 4 , further comprising creating, by the processor, the build script.

6. The method of claim 1 , wherein:

at least one of the plurality of different CI/CD environments comprises a local development environment; and

the deploying comprises testing the at least one generic pipeline in the local development environment prior to deploying the at least one generic pipeline in at least one of the plurality of different CI/CD environments separate from the local development environment.

7. The method of claim 1 , wherein the at least one stage script is provisioned with additional features from outside the at least one utility library during at least one step in the flow of the at least one generic pipeline.

8. A generic pipeline development system comprising:

a processor; and

a non-transitory memory in communication with the processor, the memory comprising instructions that, when executed by the processor, cause the processor to perform processing comprising:

creating a virtual container including at least one generic pipeline that is generically executable in a plurality of different continuous integration and delivery (CI/CD) environments, the creating comprising:

incorporating at least one stage script into the at least one generic pipeline, the at least one stage script defining a flow for the at least one generic pipeline and calling on utility libraries to perform their functions at appropriate points in the flow; and

provisioning the virtual container with features from at least a portion of at least one utility library, the features including instructions for at least one generic application task during at least one step in the flow of the at least one generic pipeline;

creating a separate pipeline definition for executing the generic pipeline within each of the plurality of different CI/CD environments, each pipeline definition indicating the CI/CD environment for which it is created and being configured to operate only in the CI/CD environment for which it is created, and each pipeline definition comprising a build script that, when executed in the CI/CD environment for which it is created, causes the CI/CD environment to execute the at least one generic pipeline; and

deploying at least one of the pipeline definitions along with the virtual container in the CI/CD environment for which the at least one of the pipeline definitions is created, thereby enabling execution of the at least one generic pipeline within the CI/CD environment for which the at least one of the pipeline definitions is created, wherein transitioning a pipeline from the CI/CD environment for which the at least one of the pipeline definitions is created to another CI/CD environment includes customizing only the build script for the other CI/CD environment.

9. The system of claim 8 , wherein the creating of the virtual container further comprises creating the at least one utility library and incorporating the at least one utility library into the at least one generic pipeline.

10. The system of claim 8 , wherein the processing further comprises creating the at least one stage script.

11. The system of claim 8 , wherein each separate pipeline definition comprises a build script for the CI/CD environment for which the separate pipeline definition is created, the build script being configured to cause the CI/CD environment to cause the at least one generic pipeline to execute within the virtual container.

12. The system of claim 11 , wherein the processing further comprises creating the build script.

13. The system of claim 8 , wherein:

at least one of the plurality of different CI/CD environments comprises a local development environment; and

the deploying comprises testing the at least one generic pipeline in the local development environment prior to deploying the at least one generic pipeline in at least one of the plurality of different CI/CD environments separate from the local development environment.

14. The system of claim 8 , wherein the at least one stage script is provisioned with additional features from outside the at least one utility library during at least one step in the flow of the at least one generic pipeline.

15. A method of developing at least one generic pipeline, the method comprising:

creating, by a processor, a virtual container including at least one generic pipeline that is generically executable in a plurality of different continuous integration and delivery (CI/CD) environments, the creating comprising:

incorporating at least one stage script into the at least one generic pipeline, the at least one stage script defining a flow for the at least one generic pipeline and calling on utility libraries to perform their functions at appropriate points in the flow; and

provisioning the virtual container with features from at least a portion of at least one utility library, the features including instructions for at least one generic application task during at least one step in the flow of the at least one generic pipeline;

creating, by the processor, a separate pipeline definition for executing the generic pipeline within each of the plurality of different CI/CD environments, each pipeline definition indicating the CI/CD environment for which it is created and being configured to operate only in the CI/CD environment for which it is created, and each pipeline definition comprising a build script that, when executed in the CI/CD environment for which it is created, causes the CI/CD environment to execute the at least one generic pipeline; and

deploying, by the processor, at least one of the pipeline definitions along with the virtual container in a local development environment configured to simulate the CI/CD environment for which the at least one of the pipeline definitions is created, wherein transitioning a pipeline from the CI/CD environment for which the at least one of the pipeline definitions is created to another CI/CD environment includes customizing only the build script for the other CI/CD environment.

16. The method of claim 15 , wherein the creating of the virtual container further comprises creating the at least one utility library and incorporating the at least one utility library into the at least one generic pipeline.

17. The method of claim 15 , further comprising creating, by the processor, the at least one stage script.

18. The method of claim 15 , wherein each separate pipeline definition comprises a build script for the CI/CD environment for which the separate pipeline definition is created, the build script being configured to cause the CI/CD environment to cause the at least one generic pipeline to execute within the virtual container.

19. The method of claim 18 , further comprising creating, by the processor, the build script.

20. The method of claim 15 , wherein the at least one stage script is provisioned with additional features from outside the at least one utility library during at least one step in the flow of the at least one generic pipeline.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: ATKINSON, BRANDON; BOWERS, CHRISTOPHER; EDWARDS, DALLAS
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 054359/0353 →
Continuity (5)
Continuation 16597994 · Oct 10, 2019
Continuation 16356530 · Mar 18, 2019
Continuation 16151528 · Oct 4, 2018
Continuation 15938833 · Mar 28, 2018
Related Publication 20210064354A1 · Mar 4, 2021
Cited By (6)
US 12,289,415 US 12,417,299 US 12,452,291 US 12,474,909 US 12,505,255 US 12,536,008