Continuous deployment system for software development
First Claim
Patent Images
1. A method for deploying software, the method comprising:
- under control of a continuous deployment system comprising computing hardware;
receiving first source code modifications to a source code package and second source code modifications to the source code package;
automatically building a first software package having the first source code modifications and a second software package having the second source code modifications, the first software package and the second software package comprising executable program instructions;
automatically initiating one or more software tests against the first software package and the second software package to determine whether to deploy the first software package or the second software package, wherein automatically initiating one or more software tests comprises locking a testing environment on which the first software package or the second software package is operating to prevent additional deployments to the testing environment during testing;
approving the first software package for promotion to a deployment environment when the one or more software tests are passed by the first software package, wherein the deployment environment comprises computer hardware and wherein the first software package is promoted through a plurality of stages prior to the promotion to the deployment environment;
approving the second software package for promotion to a deployment environment when the one or more software tests are passed by the second software package, wherein the second software package is promoted through the plurality of stages prior to the promotion to the deployment environment;
automatically selecting one of the first software package or the second software package for deployment, wherein the first software package and the second software package are built from the same source code package; and
causing the selected one of the first software package and the second software package to be deployed to the deployment environment.
1 Assignment
0 Petitions
Accused Products
Abstract
Examples of a continuous deployment system are provided that manage and track releases of software code, where some or all of the steps between check-in and deployment to production can be automated. Such systems can reduce the amount of developer effort needed to deploy a package, as developers may not have to be responsible for scheduling package builds, clicking deployment buttons, or manually running tests. The system can take care of all or some of that work.
125 Citations
28 Claims
-
1. A method for deploying software, the method comprising:
under control of a continuous deployment system comprising computing hardware; receiving first source code modifications to a source code package and second source code modifications to the source code package; automatically building a first software package having the first source code modifications and a second software package having the second source code modifications, the first software package and the second software package comprising executable program instructions; automatically initiating one or more software tests against the first software package and the second software package to determine whether to deploy the first software package or the second software package, wherein automatically initiating one or more software tests comprises locking a testing environment on which the first software package or the second software package is operating to prevent additional deployments to the testing environment during testing; approving the first software package for promotion to a deployment environment when the one or more software tests are passed by the first software package, wherein the deployment environment comprises computer hardware and wherein the first software package is promoted through a plurality of stages prior to the promotion to the deployment environment; approving the second software package for promotion to a deployment environment when the one or more software tests are passed by the second software package, wherein the second software package is promoted through the plurality of stages prior to the promotion to the deployment environment; automatically selecting one of the first software package or the second software package for deployment, wherein the first software package and the second software package are built from the same source code package; and causing the selected one of the first software package and the second software package to be deployed to the deployment environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A system for deploying software, the system comprising:
-
a computer interface configured to receive source code modifications for a source code package; and a software deployment manager comprising computer hardware, the deployment manager configured to; automatically build a first software package having the source code modifications; automatically initiate one or more software tests against the first software package to determine whether to promote the modified software package, wherein to automatically initiate the one or more software tests the deployment manager is configured to lock a testing environment on which the first software package or the second software package is operating to prevent additional deployments to the testing environment during testing; approve the first software package for promotion to a deployment environment when the one or more software tests are passed by the first software package, wherein the first software package is promoted through a plurality of stages prior to the promotion to the deployment environment; automatically select a software package for deployment from a set of approved software packages, the set of approved software packages including the first software package; and cause the selected software package to be deployed to the deployment environment. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. Non-transitory computer storage having stored thereon instructions that, when executed by a computer system, cause the computer system to:
-
in response to receipt of source code modifications to a source code package, automatically build an executable software package having the source code modifications; deploy the executable software package software package to a deployment environment; automatically initiate one or more software tests on the executable software package to determine whether to deploy the executable software package, wherein to automatically initiate the one or more software tests the instructions cause the computer system to lock the deployment environment during testing to prevent additional deployments; approve the executable software package for promotion to a deployment environment when the one or more software tests are passed by the software package, wherein the executable software package is promoted through a plurality of stages prior to the promotion to the deployment environment; automatically determine whether the executable software package includes latest approved revisions to the source code package; and cause the executable software package to be deployed to a second deployment environment based at least partly on determining that the executable software package includes the latest approved revisions. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification