Preparing for Deployment

This project contains a special subproject called deploy that provides a maven script to aid in the deployment of the astrogrid components.

The deploy project has been derived from the auto-integration project but with the following specializations

  • The script has been parameterized at a lower level as the differnet components can be on different machines
  • operations such as deploy and setup have been kept distinct, as it is likely that multiple deployments of new versions will likely be made to a component that has already been configured

Prerequisites

Before you can install the astrogrid components there is a minimum set of 3rd party software that you will need to download

  • Java Developer Kit 1.4.2 or greater
  • Tomcat 5 or greater
  • Maven RC1 or greater

Then you should download the latest version of the deployment scripts. This can be done with the following cvs command

		cvs -d :pserver:anoncvs@cvs.astrogrid.org:/devel co -r Itn05_release astrogrid/deployment/deploy
	

Properties

There are several important properties that are used to control the behaviour of the deployment script. To change these property values it is probably best to edit the file $HOME/build.properties which is automatically read by maven, although to change a property for a single run then it is also possible to use the -Dproperty=value command line switch for maven

		maven -Dtomcat.host=my.strange.hostname
	

The properties that can be set are

tpmcat.host
This should be the externally resolveable name of the host on which the components are to be deployed. The standard script will try to pick this up from environment variables, so it should not be necessary to set this explicitly in most circumstances.
tomcat.location
This is the filesystem location of the tomcat installation - This will have to be explictly set if not the value of /usr/tomcat that is assumed in the script.
tomcat.port
This is the port that the tomcat service is running on. The default that the script assumes is 8080
tomcat.manager.username
The username of the tomcat manager. This will have to be explicitly set - there is no default.
tomcat.manager.password
The password of the tomcat manager. This will have to be explicitly set - there is no default.
work.dir
The filesystem location of a local working directory. This (and subdirectories) is used by the various components to store temporary files and to pick up specialized configuration information.
astrogrid.release
This is the release name for the release that you desire to install. The default is Itn05_release
registry.authorityid
This is the authority id that registry entries are entered under. It is also used as the default community name at the moment (this will be subject to change when a separate property will be used).
registry.location
This is the url that is the endpoint of the basic registry service

Deploying

deployment groups

The astrogrid components have been split into 3 groups at the moment for deployment purposes

  • The "core" - consisting of
    • Registry
    • Community
    • Portal
    • JES
    • MySpace
  • Datacentre via the PAL
  • Applications

It is expected that a community will deploy one "core" and multiple Datacenters and Applications packages with the current level of Astrogrid functionality. It is of course possible to install multiple MySpace components for instance, but the script does not aid in their setup.

Deploying Core

After ensuring that the properties have been set up properly, then to deploy the core components, the following commands should be run.

		maven core-deploy
		maven setup-core
	

Deploying Applications

First the application configuration files and the registry entry files need to be created and stored in ${work.dir}/cea/config. The applications themselves need to be installed and configured, but this is of course beyond the scope of these notes.

Then the following commands used

			maven applications-deploy
			maven setup-applications
		

Deploying Datacenter

First the DSA configuration files and the registry entry files need to be created and stored in ${work.dir}/pal/config

			maven pal-deploy
			maven setup-pal