Examples
This section provides a detailed look at BundleWorks in four development scenarios. These examples show BundleWorks bundles, environments, and deployments. See the Terms Used section below for an introduction to these and other BundleWorks terms.
- Build Environment. This example shows how a developer can use BundleWorks to manage a build environment containing multiple versions of Java™ and a set of Java tools.
- CI Server. This example shows how a developer can use BundleWorks to manage an environment running Hudson, a Continuous Integration (CI) server.
- WebApp Deployment. This example shows how BundleWorks can be used to deploy a custom Java web application into multiple environments running the Tomcat servlet container.
- WebApp Build. This example shows how a developer can bundle a Java web application using the BundleWorks ant tasks.
Terms Used
Here is a quick glossary of some terms that are used in the examples.
Bundle: Third-party or custom software packaged for deployment. A bundle includes the software itself and any associated scripts and configuration.
Loadable Bundle: A bundle that is loaded and not executed. Loadable bundles set environment variables in the current shell, including variables like PATH to influence what software is available. An example of a loadable bundle is a developer tool like 'ant' or 'junit'.
Executable Bundle: A bundle that is executed. Executable bundles have scripts that perform various actions like install, start, and stop. Examples of executable bundles include the Apache web server and Tomcat application server.
Bundle Inventory: The list of bundles available for deployment. A bundle must be added to inventory before it can be deployed.
Environment: A directory containing deployed bundles (both loadable and executable). Environments can be loaded to allow deployed bundles to be executed.
Deployment (or Deployed Bundle): An instance of a bundle deployed within an environment. For loadable bundles, this is simply a reference to the original bundle within the environment's 'uses' directory. For executable bundles, a deployment includes a directory containing a bundle reference as well as a work directory.
Work Directory: A directory used by a deployed bundle for configuration files, logs, and other files that need to be written. This directory is named 'work' and is stored inside the deployment directory within an environment. Note that this directory needs to be writable, while the original bundle directory should be able to function as read-only.
For more information about these terms, see the the User's Guide section of the BundleWorks manual