Hot deployment in a distributed cluster system
US-2017249141-A1 · Aug 31, 2017 · US
US10540174B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10540174-B2 |
| Application number | US-201916283571-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 22, 2019 |
| Priority date | Sep 29, 2016 |
| Publication date | Jan 21, 2020 |
| Grant date | Jan 21, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for managing multi-container builds are described herein. A software build task description specifies a build environment and the build environment specifies a set of parameters for building a version of a software object. A container is instantiated that corresponds to the build environment and build commands are sent to the container. As the container completes the build command, it sends a response that is used to determine a second command to send to the container. A status of the software build task is provided based at least in part on the response.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for managing multi-container builds, comprising: receiving, at a software build management service, a software build task description, the software build task description specifying a software object to build, the software build task description including a set of environments, each environment of the set of environments specifying a corresponding set of parameters usable to build a corresponding version of the software object; instantiating, for an environment of the set of environments, a corresponding container of a first set of containers on a first build instance of one or more build instances, the first set of containers usable to generate a build state of the corresponding version of the software object, the corresponding container based at least in part on one or more parameters of the set of parameters; determining whether instantiating the corresponding container of the set of containers has exceeded usage of resources associated with the first build instance; and in response to determining that the usage of resources has been exceeded, instantiating, for the environment, a corresponding container of a second set of containers on a second build instance of the one or more build instances, the second set of containers usable to generate a next build state of the corresponding version of the software object. 2. The computer-implemented method of claim 1 , further comprising: instantiating a build agent on the first build instance of the one or more build instances, the build agent configured to receive a set of commands on behalf of the corresponding container of the first set of containers; determining that the second set of containers is instantiated on the second build instance; and causing the build agent to communicate with the second build instance by receiving another set of commands on behalf of the second set of containers. 3. The computer-implemented method of claim 1 , further comprising generating a status indicating whether the build state or the next build state of the corresponding version of the software object has been completed. 4. The computer-implemented method of claim 1 , wherein instantiating the corresponding container includes: copying a container image from a repository to a container image volume, the repository containing one or more container images; mounting the container image volume on the instance; and instantiating the container using the container image. 5. The computer-implemented method of claim 4 , wherein the container image is provided by a customer of a computing resource service provider. 6. A system, comprising: a computing device configured with: one or more processors; and memory that stores instructions that, as a result of execution by the one or more processors, cause the computing device to: instantiate a first container on a virtual instance, the first container provisioned to build a version of a first software object associated with one or more environments; send a first build command to the first container, the first build command causing the first container to build the version of the first software object; as a result of determining that building of the version of the first software object is complete, instantiate a second container on the virtual instance, the second container provisioned to build a version of a second software object associated with the one or more environments; and send a second build command to the second container, the second build command based at least in part on a response to the first build command. 7. The system of claim 6 , wherein the virtual instance includes a first agent and a second agent, the first agent usable to detect one or more operations associated with the first build command and the second agent usable to detect one or more operations associated with the second build command. 8. The system of claim 7 , wherein the first agent obtains the first build command for the first container and the second agent obtains the second build command for the second container. 9. The system of claim 6 , wherein the first container or the second container is managed through application programming interface calls. 10. The system of claim 6 , wherein the first container or the second container is provisioned in accordance with information specified in software build task description. 11. The system of claim 6 , wherein the first container or the second container is instantiated based at least in part on a container image provided by a container management service. 12. The system of claim 11 , wherein the container image is copied into an image volume, wherein the image volume is usable to be accessed by the virtual instance to instantiate the first container or the second container. 13. A non-transitory computer-readable storage medium comprising 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: instantiate a first set of containers on a build instance, the first set of containers provisioned to operate together to build a version of a first software object associated with an environment; send a first build command to each container of the first set of containers, the first build command usable to cause the first set of containers to build the version of the first software object to a first state; before the first set of containers complete the build of the version of the software object to the first state, instantiate a second set of containers on the build instance, the second set of containers provisioned to operate together to build a version of a second software object associated with the environment; and send a second build command to each container of the second set of containers, the second build command usable to cause the second set of containers to build the version of the second software object to a second state. 14. The non-transitory computer-readable storage medium of claim 13 , wherein the first set of containers is provisioned based at least in part on a software build task specifying the environment. 15. The non-transitory computer-readable storage medium of claim 13 , wherein the environment specifies a set of parameters usable to build the version of a software object. 16. The non-transitory computer-readable storage medium of claim 14 , wherein the first set of containers is usable to access a shared volume associated with the software build task description. 17. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processes, cause the computer to generate a build status of the software build task, the build status of the software build task including at least one of: failed, succeeded, timed out, or cancelled. 18. The non-transitory computer-readable storage medium of claim 17 , wherein the status includes a location of a build artifact generated as a result of the software build task. 19. The non-transitory computer-readable storage medium of claim 14 , wherein the status of the software build task is provided to a customer associated with the software build task using a web services interface. 20. The non-transitory computer-readable storage medium of claim 13 , wherein the build instance is selected from one or more instances running in an instance pool.
Related publications grouped by family.
Answers are generated from the same data shown on this page.