You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

 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.

If you don't know what changed, it's probably a bad idea to do a release. 

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

It will create or update the target directory and add the file ROOT.war . 

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

The war will be deployed to ROOT. Undeploy ROOT first, then deploy the new war. (How?? Does Maven take care of that? -jbowker )


  • No labels