Deployment of infrastructure in pipelines

US10318285B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10318285-B1
Application numberUS-201715679087-A
CountryUS
Kind codeB1
Filing dateAug 16, 2017
Priority dateAug 16, 2017
Publication dateJun 11, 2019
Grant dateJun 11, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system, such as a system of a computing resource service provider, detects changes to a pipeline template package that encodes information associated with application code and infrastructure that may be utilized as part of deploying the application code in stages of a pipeline. An infrastructure template that is usable to provision an execution environment may be generated for a corresponding stage of the development, and may be utilized as part of a process for provisioning an execution environment which may, for example, run tests to verify the quality of the application code.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: detecting a change to a pipeline template package comprising application source code and encoding resources associated with a plurality of infrastructure templates, each template corresponding to a stage of a plurality of stages; in response to detecting the change, generating an infrastructure template based at least in part on the application source code for each stage of the plurality of stages, wherein: a first infrastructure template indicates a first configuration of the encoded resources for a first stage of the plurality of stages; and a second infrastructure template indicates a second configuration of the encoded resources for a second stage of the plurality of stages, the second configuration being different from the first configuration; selecting, at a particular stage, a corresponding infrastructure template; provisioning a set of resources to be configured in accordance with the corresponding infrastructure template; and executing machine readable code generated from the application source code to utilize the set of resources. 2. The computer-implemented method of claim 1 , wherein the method further comprises building the application source code in response to detecting the change to generate at least part of the machine readable code. 3. The computer-implemented method of claim 1 , wherein the method further comprises selecting a set of unit tests, utilizing the set of resources to run the set of unit tests, and verifying whether the set of unit tests pass. 4. The computer-implemented method of claim 3 , wherein the method further comprises: determining that the set of unit tests passed; and provisioning a second set of resources to be configured in accordance with an infrastructure template corresponding to a second stage. 5. A system, comprising: one or more machine-readable mediums having stored thereon a set of instructions, which if performed by one or more processors, cause the system to at least: detect a change to a template package comprising application source code and encode resources associated with a plurality of infrastructure templates, each template corresponding to a stage of a plurality of stages; receive parameters for deployment of a set of resources to be utilized in a deployment according to the plurality of infrastructure template; assign, based at least in part on the parameters, at least a first subset of the set of resources and a second subset of the set of resources to respective stages of the plurality of stages of the deployment, the second subset different from the first subset; and in response to assigning the first subset and second subset, transmit a request to another computer system to deploy a resource of the respective subset of the set of resources. 6. The system of claim 5 , wherein the set of instructions, which if performed by the one or more processors, further cause the system to: receive application source code; in response to detecting a change in the application source code, build the application source code, thereby generating machine readable code; and execute the machine readable code to utilize the subset of resources. 7. The system of claim 6 , wherein the instructions to assign the respective subset of the set of resources to the respective stage of the deployment, which if performed by the one or more processors, further cause the system to generate a build based at least in part on the application code. 8. The system of claim 5 , wherein the set of instructions to assign, which if performed by the one or more processors, further causes the system to at least: determine a set of tests based at least in part on the respective stage of the deployment; and transmit an indication to the another computer system to run the set of tests using at least the respective subset of the set of resources. 9. The system of claim 5 , wherein the parameters are encoded in a structured markup language. 10. The system of claim 5 , wherein the request to deploy the resource is generated based at least in part on: determining whether the resource is a global resource or a partitioned resource; and if the resource is a global resource, determining whether the global resource has a dependency on one or more partitioned resources. 11. The system of claim 5 , wherein the set of instructions to assign further comprises, in response to determining the resource is a partitioned resource, provisioning the resource after provisioning global resources of the subset of the set of resources that have no dependencies on partitioned resources. 12. The system of claim 5 , wherein the set of instructions to assign further comprises, in response to determining the resource is a global resource and the resource has a dependency on one or more partitioned resources, provisioning the resource after provisioning partitioned resources of the subset of the set of resources. 13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least: detect a change to a template package and encoded resources associated with a plurality of templates, each template corresponding to a stage of a plurality of stages; determine parameters for deployment of a set of resources to be deployed at each stage of the plurality of stages of a deployment; assign, based at least in part on the parameters, subsets of the set of resources to respective stages of a plurality of stages of the deployment, wherein at least a first subset of the set of resources is different from at least a second subset of the set of resources; and in response to assigning the first subset and second subset, transmit a request to another computer system to deploy a resource of the respective subset of the set of resources. 14. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions that, as a result of being executed by the one or more processors of the computer system, further cause the computer system to: detect a change to the parameters that specify the set of resources, wherein the parameters specify source code indicating resources to be deployed at respective stages of the deployment; and provision, for respective stages of the deployment, machine readable code associated with the source code, the machine readable code operable to utilize at least one of the subsets of the set of resources. 15. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, further cause the computer system to transmit a second request to run one or more tests verifying functionality of the deployed resources. 16. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions that cause the computer system to detect the change to the parameters include instructions that cause the computer system to receive, via a graphical user interface, an indication of an approval to provision the second stage of the deployment. 17. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the system to: detect one or more changes to source code associated with an application; compile the source code, thereby generating machine readable code;

Assignees

Inventors

Classifications

  • G06F8/60Primary

    Software deployment · CPC title

  • to service a request · CPC title

  • for test execution, e.g. scheduling of test suites · CPC title

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • Updates (security arrangements therefor G06F21/57) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10318285B1 cover?
A system, such as a system of a computing resource service provider, detects changes to a pipeline template package that encodes information associated with application code and infrastructure that may be utilized as part of deploying the application code in stages of a pipeline. An infrastructure template that is usable to provision an execution environment may be generated for a corresponding…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 11 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).