Building deployment pipelines for a production computing service using live pipeline templates
First Claim
Patent Images
1. A computer-readable storage medium storing instructions, which, when executed on a processor, perform an operation for provisioning a deployment pipeline, the operation comprising:
- receiving a definition of an instance of a live pipeline template (LPT), wherein the instance of the LPT is specified using at least a first base pipeline template and a second pipeline template, wherein the first base pipeline template specifies a set of configuration parameters for a plurality of deployment stages of the deployment pipeline, and wherein the second pipeline template extends the first base pipeline template with one or more instance specific parameters for the deployment pipeline;
generating, from the instance of the LPT, an application definition which provides a fully-specified configuration for a plurality of computing services included in the deployment pipeline;
launching a first instance of the deployment pipeline in at least a first cloud computing region by invoking, for each computing service referenced in the application definition, a respective pipeline synthesis driver to configure one of the plurality of computing services in the first cloud computing region according to the fully-specified configuration provided in the application definition; and
launching at least a second instance of the deployment pipeline in at least a second cloud computing region by invoking, for each computing service referenced in the application definition, the respective pipeline synthesis driver to configure one of the plurality of computing services in the second cloud computing region according to the fully-specified configuration provided in the application definition.
2 Assignments
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.
71 Citations
18 Claims
-
1. A computer-readable storage medium storing instructions, which, when executed on a processor, perform an operation for provisioning a deployment pipeline, the operation comprising:
-
receiving a definition of an instance of a live pipeline template (LPT), wherein the instance of the LPT is specified using at least a first base pipeline template and a second pipeline template, wherein the first base pipeline template specifies a set of configuration parameters for a plurality of deployment stages of the deployment pipeline, and wherein the second pipeline template extends the first base pipeline template with one or more instance specific parameters for the deployment pipeline; generating, from the instance of the LPT, an application definition which provides a fully-specified configuration for a plurality of computing services included in the deployment pipeline; launching a first instance of the deployment pipeline in at least a first cloud computing region by invoking, for each computing service referenced in the application definition, a respective pipeline synthesis driver to configure one of the plurality of computing services in the first cloud computing region according to the fully-specified configuration provided in the application definition; and launching at least a second instance of the deployment pipeline in at least a second cloud computing region by invoking, for each computing service referenced in the application definition, the respective pipeline synthesis driver to configure one of the plurality of computing services in the second cloud computing region according to the fully-specified configuration provided in the application definition. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising:
-
a processor; and a memory storing one or more applications, which when executed on the processor, perform an operation to generate an application definition modeling a deployment pipeline used to deploy changes to a production computing service, the operation comprising; identifying an instance of a live pipeline template (LPT), wherein the instance of the LPT specializes one or more base pipeline templates with instance specific parameters for a plurality of deployment stages of the deployment pipeline, building an application target from the instance of the LPT, invoking the application target to generate the application definition, wherein the application definition provides a fully-specified configuration for each of a plurality of computing services included in the deployment pipeline; and launching respective first and second instances of the deployment pipeline in first and second cloud computing regions by invoking, for each computing service referenced in the application definition, a respective pipeline synthesis driver to configure one of the plurality of computing services in the first and second cloud computing regions according to the fully-specified configuration provided in the application definition. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method for provisioning a deployment pipeline, the method comprising:
-
determining that a plurality of computing services referenced by an application definition modeling the deployment pipeline are available to host a first instance of the deployment pipeline, wherein the application definition is generated from an instance of a live pipeline template (LPT) specializing a base pipeline template with instance specific parameters for a plurality of deployment stages of the deployment pipeline, and wherein the application definition provides a fully-specified configuration for each of the plurality of computing services referenced in the application definition; and launching the first instance of the deployment pipeline in a first cloud computing region and a second instance of the deployment pipeline in a second cloud computing region by invoking, for each computing service referenced in the application definition, a respective pipeline synthesis driver to configure one of the plurality of computing services according to the fully-specified configuration provided in the application definition. - View Dependent Claims (15, 16, 17, 18)
-
Specification