Creating and Deploying a smartsite-test.ucdavis.edu Release
Smartsite-Test deployment of new rSmart CLE tag
- Bring down new rSmart base source
cd /src/cle svn co https://svn.rsmart.com/svn/customizations/ucd/tags/2.8.7.4-ea1 rSmart-CLE-2.8.7.4-ea1-ucdtest
- Fix CAS
change the "cas.client.serviceParam" property to:
cd /src/cle/rSmart-CLE-2.8.7.4-ea1-ucdtest/config/sakai-login-tool vi rsmart.properties
cas.client.serviceParam=https://smartsite-test.ucdavis.edu/xsl-portal/login
- Install/Fix mvn.sh
Verify skin_home setting:
cp /src/cle/rSmart-CLE-2.8.7.4-ea1-ucdtest/config/mvn.sh /src/cle/rSmart-CLE-2.8.7.4-ea1-ucdtest/cle vi /src/cle/rSmart-CLE-2.8.7.4-ea1-ucdtest/cle/mvn.sh
skin_home=/src/cle/ucdtest-src-local/reference/library/src/webapp/skin
- Maven tweak
cd /src/cle/rSmart-CLE-2.8.7.4-ea1-ucdtest/config mkdir maven_profiles cd maven_profiles ln -s ../osp-* ../rsmart* ../sakai* ../samigo/ ../upgrade/ .
- Copy over GB2 patches dir: Note the copy statement bellow gets the patches directory from the previous version
This concludes the first method of setting up the code for rSmart.
cd /src/cle/rSmart-CLE-2.8.7.4-ea1-ucdtest/cle cp -R /src/cle/<previous version>/cle/patches .
The next method is mainly meant for when something small, at least small in terms of code size and top level directories changes. The example used is for GB2, but the basic methodology can be used on other stuff .
Here's the basic method:
- Go to the directory where gradebook2 is located
cd /src/cle/rSmart-CLE-2.8.7.4-ea1-ucdtest/cle/
- Backup old gradebook2 directory
mv gradebook2 gradebook2-<today's data>
- Checkout the new gradebook2 tag
svn co https://source.sakaiproject.org/contrib/gradebook2/tags/<tag name> gradebook2
- Apply patch that changes the maven pom.xml version
cd gradebook2 patch -p0 < ../patches/pom.patch svn diff
- For now, we need to apply a GRBK-616 patch. For more details, please see UPGRADE-LOG.txt
At this point the code should be able to be built.
patch -p0 < upgrade/gradebook2/GRBK-616.patch svn diff
Deployment
Now it is time to deploy the code. To do this you need two shells on acdc, one with the ucddev user and the other one as root.
Please be extremely careful doing anything as root and make sure you only run the one command you need to as root. Do not run the build as root.
As ucddev:
- Shutdown Sakai
Now until the java process is dead, do:
/home/ucdtest/cle/tomcat/bin/shutdown.sh
At some point you are going to get impatient and want to kill the process. Please try to wait at least 30 seconds. When you kill it, do:ps -ef | grep tomcat | grep ucdtest
kill -9 <procid>
As its possible that this server may be running other java processes, do NOT killall -9 java or as such. Do a kill -9 on a proc id. The person running the extraneous java process will thank you for your discretion.
- Cleanup Tomcat directory.
You will:export CATALINA_STAGING=/home/ucdtest/cle/tomcat ~/bin/tomcatclean.sh
- Build/Deploy sakai
cd /src/cle/rSmart-CLE-2.8.7.4-ea1-ucdtest/cle/ ./mvn.sh tomcat install sakai:deploy -Psakai2.8 -Dgb2.ui.version=<tag name>
- Get setup to launch:
cd ~/cle/tomcat/logs/ mv catalina.out catalina.out.predeploy touch catalina.out tail -f catalina.out
As root
Do not do this until you have completed the Build/Deploy step.
- Start Sakai
/etc/init.d/cle_ucdtest start
As ucddev
Now all you do is watch the catalina.out for messages.
Post Deployment
At this point, you will want to log in, check to make sure things work. Remember to set the MOTD to reflect what is done, ie a new GB2 tag, or a new CLE base revision. The last step is to send mail to all interested parties that the node is back up.