Dukes Bank Provisioning JBoss applications
From ControlTier
This is part of the DukesBank portion of the ControlTier Demo
Contents |
Overview
In this demo we are going to deploy a release of the full Dukes Bank application. This example deploys both JBoss and Hypersonic RDB as well as their respective application specific packages, configures the integrated application, and starts the services in the appropriate order. Which release is used is specified by the buildstamp provided (if none, then the latest is used).
Watch a video of this demo (less than 5:00)
Prerequisites
This demo assumes you have completed:
Preparation
Before getting started confirm that all of the necessary objects are deployed to CTL.
Run the ctl-project command:
ctl-project -p demo -a install
Output:
"Install" command running for resource: (Site) developmentDukesBank "Install" command running for resource: (Updater) developmentDukesBank "Install" command running for resource: (JBossAntBuilder) dukesBank "Install" command running for resource: (HsqldbRdbExportBuilder) dukesBank "Install" command running for resource: (JBossServer) developmentDukesBank "Install" command running for resource: (HsqldbRdb) developmentDukesBank . . .
Update
View the process flow
The process flow view shows that BuildAndUpdate actually is composed of two commands:
- Change-Dependencies: This reconfigures all the Services to use the artifacts from the Build step
- Deploy: This invokes the "Deploy" command across the Site's objects (updating both JBoss and HSQLDB services)
The process flow view generated by Workbench show off the steps:
You'll notice the the Dukes Bank .ear package isn't listed in the process flow above. This is because the process flow is dynamically generated and since we haven't yet deployed a Dukes Bank .ear to this JBoss server, the "developmentDukesBank" JBoss server doesn't have its .ear dependency set yet. When the Change Dependencies part of this process flow executes the .ear dependency will be set for the Deploy part of the process flow.
Run Update using last buildstamp
You can run Update without arguments to configure the Services in the Site to use the last buildstamp
ctl -p demo -t Updater -r developmentDukesBank -c Update
Output:
Start: "Changes package dependencies and runs the coordinated deployment cycle across the configured Sites." commands: Change-Dependencies,Deploy . . . Start: "Query model and switch package dependencies to the specified version or buildstamp.." Changing to package dependencies with buildstamp "trunk.1.2.3.952" ... . . . starting: developmentDukesBank[Site]->Deploy ... Dispatching command 'Deploy' to objects: developmentDukesBank[HsqldbRdb], developmentDukesBank[JBossServer] ... . . .
Run Update specifying a specific buildstamp
Very typically, you may want to deploy a particular set of build artifacts. Do this by specifying the "-buildstamp" option.
Substitute the -buildstamp argument with one you used during the Dukes Bank Checkout and Build demo.
ctl -p demo -t Updater -r developmentDukesBank -c Update -- -buildstamp 20090114
Output:
Start: "Changes package dependencies and runs the coordinated deployment cycle across the configured Sites." commands: Change-Dependencies,Deploy begin workflow command (1/2) -> "Change-Dependencies -buildstamp 20090119 -resourcename .* -resourcetype [^\.]*" ... Start: "Query model and switch package dependencies to the specified version or buildstamp.." Changing to package dependencies with buildstamp "20090114" ...
View current .ear dependency in Workbench
If you view the child dependencies of the "developmentDukesBank" JbossServer in Workbench you can see which .ear package the Deploy command is currently set to use. If you ran the "developmentDukesBank" JbossServer's Deploy command directly this would be the package deployed if necessary.
View the Dukes Bank website
You can now view the running Dukes Bank website. Go to the instructions on Accessing the Dukes Bank Website for more information.
Summary
In this demo we covered:
- The process flow for the Dukes Bank Update command that first preforms an Change-Dependencies and then deploys JBoss, HSQLDB, and their respective application specific packages
- Running the Update command at the Site level (first using the latest buildstamp and then using a specific build stamp)
- Looking at current package dependencies in Workbench
- Viewing the running Dukes Bank website
