Creating and Deploying a SmartSite Test26 Release

Creating a Smartsite-test26 Release

Creating the tag

Please make sure any changes are done to the patch area before a tag is created

  1. Determine the name
    • Tag names are usually the base rsmart tag followed by an "a" and a number. So the first tag we create based on rsmart tag 2.6.2.8 would be rsmart_2.6.2.8_a1
  2. Update sakai properties. The base properties are located in https://svn.ucdavis.edu/svn/ucd-sakai/sakai-properties/branches/rsmart-sakai-properties, update the version.service in local.properties.base
  3. Run svn copy for main tag
    •  svn copy https://svn.ucdavis.edu/svn/ucd-sakai/rsmart/trunk https://svn.ucdavis.edu/svn/ucd-sakai/rsmart/tags/rsmart_XYZ -m "Initial cut of tag rsmart_XYZ"
  4. Run svn copy for properties tag
    • svn copy https://svn.ucdavis.edu/svn/ucd-sakai/sakai-properties/branches/rsmart-sakai-properties https://svn.ucdavis.edu/svn/ucd-sakai/sakai-properties/tags/rsmart_XYZ -m "Initial cut of tag rsmart_XYZ"
  5. Run svn copy for patches tag
    • svn copy https://svn.ucdavis.edu/svn/ucd-sakai/patches/branches/rsmart_2-6-x/ https://svn.ucdavis.edu/svn/ucd-sakai/patches/tags/rsmart_XYZ -m "Initial cut of tag rsmart_XYZ"
  6. Change externals
    • Run
       svn propedit svn:externals https://svn.ucdavis.edu/svn/ucd-sakai/rsmart/tags/rsmart_XYZ 
      • Change src to point to proper rsmart tag
      • Change patches to point to proper patches tag
      • Add GB2 tag if necessary. The line will look like:
        gradebook2 https://source.sakaiproject.org/contrib/gradebook2/tags/1.2.0-a5/sakai-2.6.1
    • On commit, make the commit text reflect what the tag was created with.

The next two steps need to occur on the headnode of the cluster as the deploy user

Staging the Config Files

The cfg.pl script in the building section needs the properties file to be available so this section should be done first

  1. cd ~/config-staging
  2. mv sakai.properties sakai.properties.previous
  3. mv local.properties.base local.properties.base.previous
  4. svn export https://svn.ucdavis.edu/svn/ucd-sakai/sakai-properties/tags/rsmart_XYZ/sakai.properties
  5. svn export https://svn.ucdavis.edu/svn/ucd-sakai/sakai-properties/tags/rsmart_XYZ/local.properties.base

Building the Tag

  1. cd src
  2. Cleanup any old tags, we should retain the current tag plus one back
  3. Checkout tag:
     svn co https://svn.ucdavis.edu/svn/ucd-sakai/rsmart/tags/rsmart_XYZ | tee ~/checkout.log
    • You will have to have the rsmart svn password. The user is ucdavis.
    • This will take awhile..
  4. cd rsmart_XYZ
  5. run configure script:
     scripts/cfg.pl 
  6. cd src/cle
  7. Cleanout the tomcat staging directory, run:
    ~/config-staging/tomcatclean.sh
  8. Check the build alias:
    1. alias mvnrsmart
    2. Check the -D options vs what you normally run. If its not up to date change ~/config-staging/aliases, ~/manual-test26-deploy/aliases, ~/.aliases
  9. Build sakai run:
    mvnrsmart | tee ~/build.out 
    • This will take awhile.
    • If anything goes wrong, you will need to troubleshoot the problem.

Deploying the Tag

This should be run on each node from the headnode to each of the other nodes

  1. Shutdown sakai
     ~/bin/stop.sh 
    • Check that sakai is down by
       ps -ef | grep sakai| grep java 
  2. Stage tag:
    ~/config-staging/setup-sakai-node.sh
  3. Start Sakai:
    1.  cd $CATALINA_HOME/logs 
    2. ~/bin/start.sh ; tail -f catalina.out
  • Check the log as it starts

After Deployment Tasks

Once Sakai is started do the following:

  1. Update the MOTD in the admin tool to reflect the current tag and gb version if applicable. Place any special notes(changes/patches to the code base) in the MOTD entry
  2. Send email to ucd-sakai-dev@smartsite.ucdavis.edu, ucd-sakai-qaqc@smartsite.ucdavis.edu that a new tag is deployed.