Release Packaging better than a Manifest file/h1>
Replace a Manifest File with Release Packaging
Release packaging is the first thing you think about when you want to develop a process for executing a software deployment, and it can be done without scripting a manifest file. A manifest file is often used to list the artifacts to be deployed. A manifest file is a list all of the files needed for the deployment. The manifest file can include logic for deploying each of the components. Manifest files such as these tend to become hard to read, and even harder to debug, or tweak for another state in the life cycle -think dev to prod. Open source tools will use a manifest files that list all of the needed files, with the logic kept else where. While this is easier than the first option it is not optimal. Release Engineer takes on the problem of release packaging at a higher order. We use a graphical interface that helps with the effort.
With Release Engineer, you define that components are made up of runnable binaries, and that components can depend upon each other. Applications are a collection of components and a release is a collection of applications. You can think of a component as being the building blocks to making an application. It is a matter of packaging the right components together to make an application run and function. This packaging can include not only binary components, exes and dlls but also database components (table changes, indexes etc) and infrastructure configuration management updates.
When you create an Application in Release Engineer, you are defining everything that that application needs to run, binaries, config files, properties, and database components. We then can deploy the application which in turn deploys all of the components that the application consumes. Release Engineer then drills down into the components and sends those binaries and database changes to the right servers.
Also, in Release Engineer you can have applications that need to released at the same time, but thats topic is for another post.