3 ## Script to init GlassFish application server for automated tests.
4 ## If not installed or newer binary is available, it uninstalls GlassFish,
5 ## and installs it. Then it always stops domain if running, kills all
6 ## related processes, deletes domain and creates new domain.
10 ###################################################################
14 AS_ROOT=/hudson/workdir/jobs/trunk/testappsrv
15 AS_BINARY=/hudson/glassfish-installer-v2ur1-b09d-linux.jar
16 AS_HOME=${AS_ROOT}/glassfish
22 ###################################################################
25 # check status all domains, stop running domains
26 for domain in `$AS_HOME/bin/asadmin list-domains | grep running | grep -v not` ; do
27 if [ $domain != "running" ]; then
28 echo "Stopping domain $domain."
29 $AS_HOME/bin/asadmin stop-domain $domain
33 # kill all App server processes
34 for pid in `ps -ef | grep $AS_HOME | grep -v grep | awk {'print $2'}` ; do
38 # delete and create new domain
39 COUNT=`$AS_HOME/bin/asadmin list-domains | grep $AS_DOMAIN | wc -l`
40 if [ "$COUNT" -eq 1 ]; then
41 echo "Deleting domain $AS_DOMAIN."
42 $AS_HOME/bin/asadmin delete-domain $AS_DOMAIN
44 if [ $ERROR_CODE != 0 ]; then
45 echo "ERROR: $ERROR_CODE - Can't delete domain $AS_DOMAIN - trying to uninstall and install Glassfish."
48 $AS_HOME/bin/asadmin delete-domain domain1
51 echo "Creating domain $AS_DOMAIN."
52 echo AS_ADMIN_PASSWORD=adminadmin > $AS_HOME/passwd
53 echo AS_ADMIN_ADMINPASSWORD=adminadmin >> $AS_HOME/passwd
54 echo AS_ADMIN_USERPASSWORD=adminadmin >> $AS_HOME/passwd
55 echo AS_ADMIN_MASTERPASSWORD=adminadmin >> $AS_HOME/passwd
56 $AS_HOME/bin/asadmin create-domain --adminport 4848 --user admin --savemasterpassword=true --passwordfile $AS_HOME/passwd $AS_DOMAIN
59 ###################################################################
62 if [ -x $AS_HOME/bin/uninstall ]; then
63 $AS_HOME/bin/uninstall -silent
66 # This is a temp hack as the "uninstall" command is broken
67 if [ -d ${AS_HOME} ]; then
72 ###################################################################
75 # install only if new binary is available
76 if [ -f ${AS_HOME}/version ]; then
77 AS_VERSION=`cat ${AS_HOME}/version`
78 if [ "${AS_BINARY}" = "${AS_VERSION}" ]; then
87 TEMP_DISPLAY="${DISPLAY}"
91 echo "A" > ${AS_ROOT}/sunappserver_statefile
92 java -Xmx256m -jar ${AS_BINARY} < ${AS_ROOT}/sunappserver_statefile
94 rm -f ${AS_ROOT}/sunappserver_statefile
95 DISPLAY="${TEMP_DISPLAY}"
98 if [ $ERROR_CODE != 0 ]; then
99 echo "ERROR: $ERROR_CODE - Can't install Glassfish"
103 # Setup Application Server
104 ant -f ${AS_HOME}/setup.xml -Dinstance.port=${AS_PORT} -Ddomain.name=${AS_DOMAIN}
106 echo ${AS_BINARY} > ${AS_HOME}/version
109 ############################# MAIN ################################
114 ############################## END ################################