Code Migration Process

Code Migration Process

Code Migration Process

Personal Development Environment

  • Programmer develops application locally on his/her computer

  • Programmer uses Subversion to version control his/her source code

  • Programmer uses various testing processes to test his/her code on their personal development environment

    • JUnit

  • Programmer informs Release Manager (RM) when he/she is ready to move source code to sakai-dev

    • Programmer provides RM with Subversion revision numbers and or Subversion tag/branch names

    • Programmer(s) sign off (with wiki comment "signatures") that the code is ready

Sakai Development Environment (Staging area for Sakai Test)

  • RM waits for a Sakai test code migration window and sends out notifications

  • RM verifies the CHANGELOG and Subversion comments relating to this release

  • RM backs up existing code and database states

  • RM checks out / exports code from Subversion

    • Programmer provides revision numbers and or release tag/branch name

    • Sakai Foundation subversion repository

    • UCD subversion repository

    • others,...

  • RM further prepares source so that it can be built with MAVEN

  • RM has to make sure that both the sakai-dev internal database and sakai-dev tomcat are in proper state

  • RM works closely with programmers to enable programmer to do final testing on that level

  • Once programmers finishes development level testing he/she performs a second sign off and he/she informs Project Manager (PM) and RM that code is ready for formal testing

Sakai Test Environment (Staging area for Sakai Pilot)

  • Once code is ready for testing, PM coordinates test procedures with Quality Assurance Manager (QAM) and RM

  • PM and QAM will instruct RM to install specific source code revisions on the test server

  • RM has to make sure that both the sakai-test internal database and sakai-test tomcat are in proper state

  • Once RM has installed the requested source code, and releases sakai-test for testing, she/he will inform PM and QAM

Sakai Pilot Environment

  • PM and QAM will instruct RM to install specific source code revisions on the pilot server

  • PM will schedule appropriate downtime and will inform all affected parties

    • Sakai MOTD (Setting Message Of The Day)

    • Send email to management and other key players

      • ToDo: Setup Sakai release mailing list?

    • Inform data center about scheduled downtime

      • Send email to: sysadmin@ucdavis.edu (as instructed by Chris Callahan)