Dukes Bank Provisioning JBoss applications

From ControlTier

Jump to: navigation, search

Java duke mascot.jpg 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).

Screencast-icon.png 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:


The process flow view generated by Workbench show off the steps:

DukesBank-Updater-Update-pview.png

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. Dukesbank verify package dependency.png

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:

Personal tools
Namespaces
Variants
Actions
Navigation
Communication
Development
Toolbox
Print/export