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