Matching and enforcing deployment pipeline configurations with live pipeline templates
First Claim
Patent Images
1. A non-transitory computer-readable medium storing instructions, which, when executed on a processor, perform an operation to bring a configuration state of a deployment pipeline under control of a live pipeline template, the operation comprising:
- generating a first application definition by invoking a plurality of analysis drivers, wherein each of the plurality of analysis drivers inspects a configuration of a respective computing service included in a first deployment pipeline deployed in at least a first cloud computing region, wherein the first application definition reflects a current configuration state of the first deployment pipeline;
generating one or more second application definitions, wherein each second application definition is generated from source code defining a live pipeline template and wherein each second application definition reflects a potential configuration state for a deployment pipeline;
comparing the current configuration state reflected in the first application definition with the potential configuration reflected in the one or more second application definitions;
determined, based on at least the comparison, that one of the second application definitions reflects a potential deployment configuration for a deployment pipeline that is compatible with the first deployment pipeline;
reconfiguring the first deployment pipeline to reflect the potential deployment configuration as specified by the determined second application definition; and
building and deploying one or more applications in the first cloud computing region, using the reconfigured first deployment pipeline.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are presented for managing a deployment pipeline using an inheritable and extensible source code template—generally referred to as a live pipeline template (LPT). As described, live pipeline templates may be used to manage deployment pipelines which, in turn, are used to launch, maintain, and update the services and systems used to host and provide computing services.
74 Citations
20 Claims
-
1. A non-transitory computer-readable medium storing instructions, which, when executed on a processor, perform an operation to bring a configuration state of a deployment pipeline under control of a live pipeline template, the operation comprising:
-
generating a first application definition by invoking a plurality of analysis drivers, wherein each of the plurality of analysis drivers inspects a configuration of a respective computing service included in a first deployment pipeline deployed in at least a first cloud computing region, wherein the first application definition reflects a current configuration state of the first deployment pipeline; generating one or more second application definitions, wherein each second application definition is generated from source code defining a live pipeline template and wherein each second application definition reflects a potential configuration state for a deployment pipeline; comparing the current configuration state reflected in the first application definition with the potential configuration reflected in the one or more second application definitions; determined, based on at least the comparison, that one of the second application definitions reflects a potential deployment configuration for a deployment pipeline that is compatible with the first deployment pipeline; reconfiguring the first deployment pipeline to reflect the potential deployment configuration as specified by the determined second application definition; and building and deploying one or more applications in the first cloud computing region, using the reconfigured first deployment pipeline. - View Dependent Claims (2, 4, 5, 6, 7)
-
-
3. The non-transitory computer-readable medium of 1, wherein the one or more base pipeline templates include a first base pipeline template specifying a set of configuration parameters for one or more deployment stages of the deployment pipeline.
-
8. A system, comprising:
-
a processor; and a memory storing one or more applications, which when executed on the processor, perform an operation for monitoring a configuration state of a deployment pipeline, the operation comprising; identifying a change made to the configuration of at least a first computing service used, at least in part, to provide the deployment pipeline, generating an application definition from source code of an instance of a live pipeline template (LPT) associated with the deployment pipeline, wherein the application definition provides a fully-specified configuration for a plurality of computing services included in the deployment pipeline, including the first computing service, comparing the identified change to the configuration of the first computing service with a configuration specified for the first computing service in the application definition, and generating a report describing differences between the changed configuration of the first computing service and the configuration state for the first computing service specified in the application definition. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-implemented method for maintaining a deployment pipeline provisioned using an instance of a live pipeline template (LPT), the method comprising:
-
detecting a change made to at least a first computing service used to provide deployment pipeline; generating a first application definition from the instance of the LPT associated with the deployment pipeline, wherein the first application definition provides a fully-specified configuration for a plurality of computing services included in the deployment pipeline, including the first computing service; invoking, for at least the first computing service and by operation of one or more computer processors, a corresponding pipeline synthesis driver, wherein the pipeline synthesis driver reconfigures the first computing service according to the fully-specified configuration provided in the first application definition; and building and deploying one or more applications using at least in part the reconfigured first computing service. - View Dependent Claims (17, 18, 19, 20)
-
Specification