Using virtual machines to manage software builds
First Claim
1. A computer-implemented method for managing software builds, the computer-implemented method comprising performing computer-implemented operations for:
- receiving code corresponding to an update for an existing software build hosted by a data center;
creating a new software build based upon the code, the new software build comprising a new version of the existing software build;
creating a virtual hard drive to host the new software build and creating a differencing disk comprising the virtual hard drive storing data indicating a difference between the existing software build and the new software build;
installing the new software build on the virtual hard drive;
distributing the new software build to a data center for hosting at the data center; and
monitoring performance of the new software build hosted by the data center.
2 Assignments
0 Petitions
Accused Products
Abstract
Concepts and technologies are described herein for using virtual machines to manage software builds. A deployment controller manages deployment of a new software build. The deployment controller installs the new software build on test device and tests the new software build. If the new software build functions without errors, the new software build is deployed to hosts of a data center and monitored for errors. If errors are detected, the errors are reported to a developer associated with the new software build. In some embodiments, the deployment controller creates a differencing disk storing differences between the updated software build and an existing software build and uses the differencing disk for installing the new software build for testing and/or for deploying the new software build.
49 Citations
19 Claims
-
1. A computer-implemented method for managing software builds, the computer-implemented method comprising performing computer-implemented operations for:
-
receiving code corresponding to an update for an existing software build hosted by a data center; creating a new software build based upon the code, the new software build comprising a new version of the existing software build; creating a virtual hard drive to host the new software build and creating a differencing disk comprising the virtual hard drive storing data indicating a difference between the existing software build and the new software build; installing the new software build on the virtual hard drive; distributing the new software build to a data center for hosting at the data center; and monitoring performance of the new software build hosted by the data center. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for managing software builds, the computer-implemented method comprising performing computer-implemented operations for:
-
receiving code at a deployment controller, the code corresponding to an update for an existing software build hosted by a data center; creating a new software build based upon the code, the new software build comprising a new version of the existing software build hosted by the data center; creating a differencing disk storing data indicating differences between the existing software build and the new software build; distributing the new software build to the data center for hosting by copying the differencing disk to the data center and linking the differencing disk to a virtual hard drive hosting the existing software build at the data center; and monitoring performance of the new software build hosted by the data center. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computer storage medium having computer readable instructions stored thereupon that, when executed by a computer, cause the computer to:
-
receive code at a deployment controller, the code corresponding to an update for an existing software build hosted by a data center; create a new software build based upon the code, the new software build comprising a new version of the existing software build hosted by the data center; creating a differencing disk storing data indicating differences between the existing software build and the new software build; install the new software build on a test device; monitor performance of the new software build on the test device to determine if the new software build is to be deployed; and in response to determining that no errors are detected during execution of the new software build on the test device, distribute the new software build to the data center for hosting by copying the differencing disk to the data center and linking the differencing disk to a virtual hard drive hosting the existing software build at the data center; and monitor performance of the new software build hosted by the data center. - View Dependent Claims (18, 19)
-
Specification