Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This is software I installed that is useful but not necessary for working with Moves:1.

  1. Firefox (mozilla.org)

...

  1. 7Zip (http://sourceforge.net/projects/sevenzip

...

  1. )

Required Software

This is software that is necessary for working with Moves:1.

  • MIT Kerberos for Windows (3.2.x). Version 4 may work but I didn’t test it.

...

  • Java JDK 6 (oracle.com). I used 1.6.0_38

...

...

  • (custom/online installer). More on the MyEclipse config below.

...

...

  • . IMPORTANT: if you already have a development environment set up (MyEclipse etc), check the version of SVN client you are using. If you are currently using a 1.6 client in MyEclipse, then download the 1.6 client from sliksvn. If you mix 1.6 & 1.7 clients, project svn metadata could get messed up.

...

...

...

...

  • - download the zip file for Windows that contains all the related binaries including putty and plink) , and reconfigure Putty to use Kerberos authentication (through GSSAPI). See below for details.

...

  • Oracle OC4J server - see CSF wiki for instructions on download & installation.

...

...

  • (provides “echo” utility, needed by Moves at runtime).

Steps

1. Configure MyEclipse.

...

  1. Set MyEclipse to use the external maven install (the 3.0.4 version)

...

  1. From Config Center, install Subversive plugin (SVN kit & SVN team provider)

...

  1. From Config Center, install Maven SCM Handler for Subversive (update site URL is http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-subversive/0.13.0/N/0.13.0.201208191312

...

  1. ). This add-on provides the “checkout as Maven proj” option in the SVN perspective.

...

  1. Add sais-sis-common as svn repo in MyEclipse SVN perspective (svn+ssh://svn.mit.edu/sais-sis-common)

2. Configure Maven

Configure Mavenwith Maven with “settings.xml” from CSF wiki page on Maven config in $HOME/.m2 folder.

...

To configure putty & plink, first fire up putty.exe: 1.

  1. FIRST - make sure you have Kerberos 5 tickets via Network Identity Manager.

...

  1. Session section: created a saved session called “svn.mit.edu”

...

  1. Session section: set host name = svn.mit.edu

...

  1. Connection->data section: Auto-login username = your-kerberos-name

...

  1. Connection->SSH->Auth->GSSAPI section: check “Attempt GSSAPI Authentication” AND “Allow GSSAPI Credential Delegation”. In Preference Order for GSSAPI libraries, move “ User-supplied  GSSAPI DLL” to the top, then under “User-supplied GSSAPI library path” browse to the installed location of gssapi32.dll in your Kerberos folder (default location is C:\Program Files\Kerberos\gssapi32.dll on 32-bit Windows.)

...

  1. Session section: hit the Save button to save the config.

To test this config out, go to a command prompt and type:
c:\putty-install-dir\plink.exe @svn.mit.edu
where putty-install-dir is the path to your putty installation.
After a short while you should be logged into the svn server and should see:

No Format

RHN kickstart on 2009-01-14

...


( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) )

Type “quit” to log out.

4. Configure SVN

To configure svn to use this SSH config, first set the SVN_SSH environment variable:

No Format

...


SVN_SSH=C:\\bin

...

\\plink.exe

NOTE THE DOUBLE BACKSLASHES!!!

Then try this in a temp directory:

Code Block

svn co svn+ssh://@svn.mit.edu/sais-sis-common/maven/releases/branches/playground C:\Users\dev\Workspaces\MyEclipse10\sais-moves-web-3.0.9-SNAPSHOT\ui\releases

This should check out the referenced project into a subdirectory of your temp directory. Note that access to svn seems very slow, so don’t give up on it too soon - wait a minute or two for the checkout to happen.

...

The following jks files are required. They can be placed wherever you like: 1.

  1. registrar-test.jks

...

  1. serverTrustStore.jks

...

  1. moves-test.jks, which I got from a checkout of sais-common-conf

6. Property files.

The following property files are needed to build & run Moves. Place them in your home folder: 1.

  1. sais-moves-web.properties

...

  1. sais-moves-web-build.properties*

...

  1. sais-moves-web-test.properties

...

  1. sais-common-test.properties

The property files all need to be examined and modifications made to username/password, jks locations etc.

In sais-moves-web.properties set these properties:

No Format

roles.function.category=APPM

...


local.mitroles = MOVES_ADMIN, MOVES_MANAGER, MOVES_DEV

sais-moves-web-build.properties is auto-generated by Moves from the Admin->Build Configuration page. You don’t need to edit this file manually.

...

Various Windows environment variables need to be set: 1.

  1. JAVA_HOME=your JDK location (e.g. C:\Program Files\Java\jdk1.6.0_38)

...

  1. SVN_SSH=C:

...


  1. bin
    plink.exe (or your location of plink.exe). Double slashes are important!

...

  1. PATH: make sure the location of the MIT kerberos binaries is at the front of the path (or at least before the JDK binary folders). This will ensure that Kerberos will find your tickets.

...

  1. PATH: the following locations should be on the path:

      ...

        1. bin directory of your Maven install

      ...

        1. bin directory of your SVN install

      8. Other Windows Configuration

      1. Moves requires a c:\tmp (/tmp on Unix) directory. IIf it doesn’t already exist, create a c:\tmp folder.

      ...

      In MyEclipse, create a Run Configuration to do a “clean install exec:exec” for Moves. Set the JVM memory parameters for this run configuration:

      Code Block
      
      -Xmx768m -Xms512m -XX:MaxPermSize=768m
      

      11. Build and deploy Moves:

      Start the OC4J server, and then run the clean/install/exec Maven run configuration in MyEclipse.

      12. First Test of Moves

      Assuming Moves is built & deployed successfully, you should be able to access it via a web browser. One quirk of Moves is that when running locally using local auth, the Moves home page (localhost:888/moves) will show authorization error messages. This is because this page is not under authentication. If you first go to a subpage (e.g. moves/admin/index.htm) you will be authenticated and then the home page will be properly accessible.

      13.Set Up Moves Build Configuration

      Once Moves is accessible in the web browser, you will need to set up the build configuration. In the Moves app, navigate to Administration -> Build Configuration and set these variables:

      Maven Tab:

      ...

      1. Maven Command: mvn

      ...

      1. Build Home: a location of your choice, preferably outside of the MyEclipse Moves project location. Use forward slashes (/) not backslashes () in the directory path. I used C:/Users/dev/temp/moves-build

      ...

      1. Max Maven Build Time (in seconds): 3600

      ...

      1. MIT Maven Repository (containing releases): https://maven.mit.edu/nexus/content/groups/saisGroupRepo/

      ...

      ...

      1. mit-release-plugin version: 2.0.19 (this was correct at the time of writing)

      ...

      1. Maven System Properties:

          ...

            1. javax.net.ssl.trustStore: your location for serverTrustStore.jks. Again, use forward slashes for the path.

          ...

            1. javax.net.ssl.trustStorePassword: password for the trust store.

          ...

          1. Maven Environment Variables:

              ...

                1. JAVA_HOME: path to your JDK. (e.g. C:/Program Files/Java/jdk1.6.0_38)

              ...

                1. MAVEN_OPTS: -Xmx768m -Xms768m -XX:MaxPermSize=768m -Djavax.net.ssl.trustStore=/path/toyour/servertruststore/file -Djavax.net.ssl.trustStorePassword=XXXXXX

              ...

                1. PATH: this is a semi-colon delimited path (using forward slashes) for binaries needed by Maven when Moves does builds, releases etc. It should contain the locations of:

                  ...

                      1. MIT Kerberos binaries (klist, kinit etc)

                  ...

                      1. Maven itself (mvn.exe)

                  ...

                      1. Windows system binaries (e.g. C:/Windows/system32)

                  ...

                      1. SVN binary (svn.exe)
                    1. As an example, my maven PATH is set to: C:/Program Files/Kerberos;C:/Program Files/Java/jdk1.6.0_38/bin;C:/apache-maven-3.0.4/bin;C:/Windows/system32;c:/svn/bin
                  Subversion Tab:

                  ...

                  1. Svn Location of MIT Releases project: svn+ssh://svn.mit.edu/sais-sis-common/maven/releases/branches/playground
                    Note that because we are using putty/plink, the “svn.mit.edu” spec here will point to a Putty saved session called “svn.mit.edu” - this is necessary so we can use the Kerberos authentication we set up for Putty. So it is important that the Putty saved session you created above is actually named “svn.mit.edu”.

                  ...

                  1. Subversion Command: svn

                  ...

                  1. Subversion Environment Variables:

                      ...

                        1. SVN_SSH: location of your “plink.exe”, using forward slashes (e.g. C:/bin/plink.exe).
                      OC4J Tab:

                      ...

                      1.   OC4J Home: path to your OC4J home folder, using forward slashes (e.g. C:/oracle/oc4j/j2ee/home)

                      After you’ve done all this, hit Save, and this info should be saved in the sais-moves-web-build.properties file in your home directory.

                      14. Using Moves

                      First, make sure you have Kerberos tickets via Network Identity Manager.

                      Now you are ready to actually use Moves. Navigate to the Home page and click “Build a Release”. This will take quite a long time (several minutes), but eventually you should see a list of all projects available for building a release.

                      From here you should be able to do all the Moves functions.