Thalia has two pieces: the IME back end, which is a Java .war file, and the .swf front end, which is written in OpenLazlo.
ARE YOU DOING A RELEASE?
Before deploying anything, confirm that you won't interrupt anyone else's work.
- For all releases, check in on jabber chat thalia-talk .
- For QA releases, also check in with QA testers in thalia-QA .
- For production releases, email asst@mit.edu about the scheduled down time ahead of time so they will not be alarmed when the nagios service fails on Thalia.
COMMON STEPS:
1. Make sure all developers have checked in their code.
BACK END
Configuring the Build Environment
1. download the latest version of maven at http://maven.apache.org/download.html (maven 2.0.7)
2. a. Unzip Unzip maven-2.0.7-bin.zip to the directory you wish to install Maven 2.0.7.
b. Add the bin directory to your path
c. make sure that JAVA_HOME is set to the location of your JDK
d. Run mvn --version to verify that maven is correctly installed .
3. Confirm you have access to the svn repository: svn+ssh://svn.mit.edu/zest/thalia-maven
Building
0. Before you begin:
Make sure all developers have checked in their code.
For a release, make sure you have no un-committed code changes hanging around with
svn status
If there are modified files, either check out a fresh copy or commit your changes.
For a release, write the release notes. The release notes contain a list of what changed in this release: new features, bug fixes, underlying changes like an Alfresco upgrade, etc. Release notes have three purposes: they give QA specific information about what to test; they remind you what changed in the release long after you've forgotten; and they're the raw notes for the email that gets sent to users.
1. Check out the thalia code from svn:
svn checkout svn+ssh://username@svn.mit.edu/zest/thalia-maven
SVN will create or update a directory named thalia-maven with the latest code.
2. If you're doing a release, create a new branch from the trunk. The naming convention for branches is thalia<version>-sprint<num> ( e.g. thalia1.0-sprint2 ).
svn copy Trunk/thalia Branches/thalia<version>-sprint<num>
cd Branches/thalia<version>-sprint<num>
3. Make a clean build of the .war file:
cd thalia-maven/trunk/thalia
mvn clean package
4. If you're doing a release and the build completed without error, commit the branch.
svn commit
5. Deploy the war:
a. Check that it's ok to deploy. Start in the thalia-talk chat . If deploying to QA, check in with the QA contractor in thalia-qa . If deploying to production, you will already have emailed asst@mit.edu about the scheduled down time ahead of time so they will not be alarmed when the nagios service fails on Thalia.
b. By default, Thalia will deploy to isda-thalia-1.mit.edu . Edit Branches/branchname/pom.xml to specify a different location. Check the Thalia Environments list for the correct server.
c. To specify tomcat authentication info in Maven, add the following line in settings.xml in $M2_HOME/conf/settings.xml
<server>
<id>deploymentserver</id>
<username>username</username>
<password>password</password>
</server>
d. Deploy with Maven:
mvn tomcat:deploy