Deploying ucd-gateway to prod

Deploying a ucd-gateway JIRA from test to prod

  • Once a JIRA makes it to the state "Ready to migrate to smartsite-prod" it can be deployed.
  • Deployment times are up to the individual doing the deployment, the only rule is that at least 24 hours of notice should be given. In the case of a deployment being initiated on a Friday, it is fully at the individual doing the deployment's discretion whether or not the deployment occurs on the Saturday, or the next business day.

Preparing Maintenance Documentation

  • The production maintenance information is documented here:

Communicating Maintenance Information

  • At least 24 hours before the deployment will occur, send an email to: sakai-releasemgt@ucdavis.edu
    • Email Subject:
          Smartsite UCD-GATEWAY change 
      
    • Email Body:
      Hello,
      
      The following JIRA or JIRAs are going to be deployed for ucd-gateway: 
      
      <Cut/Paste Jira list from above confluence page>
      
      This deployment will start no sooner than 24 hours after this message.  An email will follow this once the deployment is complete. 
      
      Thanks,
      
      
  • Once the deployment is complete, send a reply(including old text) to the previous email
    • Email Body:
      Hello,
      
      The deployment of the previously mentioned JIRAs is complete.
      
      Thanks, 
      

Deployment Preperation

  1. For each of the JIRAS that were documented to be deployed, do the following:
    1. Identify each revision that was migrated to test, and the path that it was migrated to. In the majority of cases this will be the UCD gateway test branch. If there are cross ucd-gateway/ucd-help, then a deployment strategy with notification will need to be done. Cross branch deployments are beyond the scope of this document.
    2. Inspect and make sure there are no special handling needed for each JIRA.
  2. Checkout a version of the UCD gateway prod branch.

Actual Deployment

  1. Change directories to the prod branch checked out in the previous section.
  2. Order the list of revisions from the previous section in ascending order.
  3. For each revision do:
    1. Merge revision into prod using:
       
      svn merge -c <rev> <source branch from ucd-test> . 
      
    2. IF at this point conflicts are found, then this document is out of scope, and you should not continue.
    3. If no conflicts, then the merge can be committed.
       
      svn commit -m "<jira> Merging from test to prod for gateway, merge command used: <merge command from previous step>" 
      
  4. Note that if a conflict occurs on a later merge, make sure a revision was not missed. Please make sure the branch is cleaned if a JIRA is "halfway" merged.
  5. Once all merges are complete, go to sakaiprod1 and do:
    1. sudo to the sakai user
    2. cd /var/www/html/smartsite/ucd-gateway/
    3. svn update
  6. At this point the JIRAs are migrated.
  7. Assign JIRAs to PM, and move them to the migrated step in the workflow.