Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
 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.

...

BEFORE STARTING:

1. Make sure all developers have checked in their code.
2. For releases, make sure everyone has resolved their fixed bugs so the release notes are accurate.

FRONT END

...

 BACK END

Configuring the Build Environment

...

 
\\

*BEFORE STARTING:*

1. Make sure all developers have checked in their code.
\\
2. For releases, make sure everyone has resolved their fixed bugs so the release notes are accurate.

*FRONT END*

(Temporary) Ask Justin or Robin to compile and commit a new .swf . 
\\
\\

* 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 - on isda-build1.mit.edu this is /usr/java/jdk1.6.0

...


        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 



+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

...


{quote}
svn status

...


{quote}
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. 

 Also update the knownissues page at zest/thalia/teamsite/help/. Remove resolved issues and add new issues. This page needs to be manually uploaded to ${CATALINA_HOME}/webapps/help directory. Include the link to the knownissues page in the release note. 0.1  Log in to isda-build1.mit.edu .

...


\\

1. Check out the thalia code from svn:

...


{quote}
svn checkout svn+ssh://username@svn.mit.edu/zest/thalia-maven

...


{quote}
SVN will create or update a directory named thalia-maven with the latest code.

...


\\

2.

...

&nbsp; If you're doing a release, create a new branch from the trunk. The naming convention for branches is thalia<version>-

...

sprint<num>&nbsp; ( e.g. thalia1.0-sprint2 ).

...

&nbsp;
{quote}
svn copy Trunk/thalia Branches/thalia<version>-sprint<num>

...


cd&nbsp; Branches/thalia<version>-

...

sprint<num>&nbsp;
\\
\\
{quote}
3. Make a clean build of the .war file:

...


{quote}
cd thalia-maven/Branches/thalia<ver>-sprint<num>

...


mvn clean

...

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. 

...

 package
\\
\\
{quote}
It will create or update the target directory and add the file ROOT.war .&nbsp;

4. If you're doing a release and the build completed without error, commit the branch.&nbsp;
{quote}
svn commit&nbsp;
\\
{quote}
5.&nbsp;&nbsp; Deploy the war:
\\
a.&nbsp; Check that it's ok to deploy.&nbsp; Start in the thalia-talk chat&nbsp; .&nbsp; 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.&nbsp;

&nbsp; b. By default, Thalia will deploy to thalia-dev.mit.edu

...

 .&nbsp; Edit&nbsp; Branches/branchname/pom.

...

xml&nbsp; to specify a different location.

...

&nbsp; Check [the Thalia Environments list|https://confab.mit.edu/confluence/display/ZEST/Thalia+environments+and+workflow] for the correct server.

&nbsp; c. To specify tomcat authentication info in Maven, add the following line in settings.xml in $M2_HOME/conf/settings.

...

xml&nbsp; . Username and password are for the tomcat manager. Ask if you don't have that information.

...

  d. Deploy with Maven:

mvn tomcat:undeploy
mvn tomcat:deploy
This will undeploy ROOT first on the server, then deploy the new war.

6. Do a smoke test to confirm Thalia came back up. Brian Childs suggests:

  • the page comes up in your browser
  • it recognizes you as logged in
  • you can create a library
  • you can do a bulk upload

...


&nbsp;&nbsp;&nbsp; <server>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <id>deploymentserver</id>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <username>username</username>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <password>password</password>
&nbsp;&nbsp;&nbsp; </server>

&nbsp; d. Deploy with Maven:

mvn tomcat:undeploy
\\
mvn tomcat:deploy
\\
This will&nbsp;undeploy ROOT first on the server, then deploy the new war.
\\

6. Do a smoke test to confirm Thalia came back up. Brian Childs suggests:
* the page comes up in your browser
* it recognizes you as logged in
* you can create a library
* you can do a bulk upload

* you can create an album
* you can create a slideshow&nbsp;
\\