#!/bin/bash set -e CATALINA_HOME='/usr/share/tomcat7-codedeploy' DEPLOY_TO_ROOT='true' #CONTEXT_PATH='##CONTEXT_PATH##' SERVER_HTTP_PORT='80' TEMP_STAGING_DIR='/tmp/codedeploy-deployment-staging-area' WAR_STAGED_LOCATION="$TEMP_STAGING_DIR/SampleMavenTomcatApp.war" HTTP_PORT_CONFIG_XSL_LOCATION="$TEMP_STAGING_DIR/configure_http_port.xsl" # In Tomcat, ROOT.war maps to the server root if [[ "$DEPLOY_TO_ROOT" = 'true' ]]; then CONTEXT_PATH='ROOT' fi # Remove unpacked application artifacts if [[ -f $CATALINA_HOME/webapps/$CONTEXT_PATH.war ]]; then rm $CATALINA_HOME/webapps/$CONTEXT_PATH.war fi if [[ -d $CATALINA_HOME/webapps/$CONTEXT_PATH ]]; then rm -rfv $CATALINA_HOME/webapps/$CONTEXT_PATH fi # Copy the WAR file to the webapps directory cp $WAR_STAGED_LOCATION $CATALINA_HOME/webapps/$CONTEXT_PATH.war # Configure the Tomcat server HTTP connector { which xsltproc; } || { yum install xsltproc; } || { apt-get install xsltproc; } cp $CATALINA_HOME/conf/server.xml $CATALINA_HOME/conf/server.xml.bak xsltproc $HTTP_PORT_CONFIG_XSL_LOCATION $CATALINA_HOME/conf/server.xml.bak > $CATALINA_HOME/conf/server.xml service tomcat7 start