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)