Software building and deployment system and method
First Claim
1. A method of deploying a plurality of files to an environment causing a change in the environment, the method comprising the steps of:
- a) receiving a manifest containing a list of the plurality of files specific as to a version for each file, the manifest further containing an identification of the environment;
b) creating a release record in a central database, the release record containing a release ID identifying the change in the environment caused by the deployment of the plurality of files as a unique release of the environment;
c) obtaining the plurality of files from one or more repositories, including a set of files that requires compilation before deployment;
d) submitting the set of files to an external builder resulting in compiled files;
e) creating a files entry in the central database for each file to be deployed, each entry containing i) a version indicator representing the version of the file, ii) an identifier uniquely identifying the environment, and iii) the release ID;
f) deploying the compiled files to the environment.
1 Assignment
0 Petitions
Accused Products
Abstract
A software building and deployment system and related method are presented that automates interactions with a source code repository system, an external builder, and a content deployment system. All interactions with these components are under the control of a manifest, and are recorded in a central database. This database maintains a link between source code in the repositories and the code and content actual deployed in an environment, such as a testing environment or a production environment. Each manifest is assigned a release number to allow the database to track every change to an environment as separate release. This in turn allows the database to track the entire contents of an environment over time, down to the exact version of a component found in a particular release of the environment. The present invention uses this information to perform environment rollbacks to a prior release. Finally, the present invention creates a CRC value for every file that is deployed to an environment, which allows the system to determine whether any changes have been made to a deployed file during deployment or since the last deployment.
189 Citations
7 Claims
-
1. A method of deploying a plurality of files to an environment causing a change in the environment, the method comprising the steps of:
-
a) receiving a manifest containing a list of the plurality of files specific as to a version for each file, the manifest further containing an identification of the environment;
b) creating a release record in a central database, the release record containing a release ID identifying the change in the environment caused by the deployment of the plurality of files as a unique release of the environment;
c) obtaining the plurality of files from one or more repositories, including a set of files that requires compilation before deployment;
d) submitting the set of files to an external builder resulting in compiled files;
e) creating a files entry in the central database for each file to be deployed, each entry containing i) a version indicator representing the version of the file, ii) an identifier uniquely identifying the environment, and iii) the release ID;
f) deploying the compiled files to the environment. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for deploying a plurality of files to an environment causing a change in the environment, the system comprising:
-
a) a central database having a plurality of release records and a plurality of file entries, the release record containing a release ID identifying the change in the environment caused by the deployment of the plurality of files as a unique release of the environment, the file entry containing i) a version indicator representing the version of the file, ii) an identifier uniquely identifying the environment, and iii) the release ID;
b) a manifest module programmed to receive a manifest containing a list of the plurality of files specific as to a version for each file, the manifest further containing an identification of the environment;
c) a source control module programmed to obtain the plurality of files from one or more repositories, including a set of files that requires compilation before deployment;
d) an auto-build module programmed to automatically submit the set of files to an external builder resulting in compiled files;
e) a deployment module programmed to place the compiled files in a staging directory for a content deployment engine and initiating the content deployment engine, thereby causing the compiled files to be deployed the environment.
-
Specification