Versions Compared

Key

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

...

The DuraCloud software, by its very nature, is designed to be integrated with underlying cloud storage and compute providers.
As may be expected, these integrations are exercised through many "integration tests". In order for DuraCloud to connect to these underlying providers, appropriate credentials must first be established and available to the build framework.
However, in order to get up and running quickly with the software, the baseline can be initially built with just its unit tests.
Once the developer has independently acquired credentials for one or more of the supported underlying storage providers (below) builds may then be run with integration tests.

This guide lays out the three tiers of building/testing the baseline:

...

  1. Check out latest stable release from Subversion repository
    Code Block
    svn co https://svn.duraspace.org/duracloud/tags/duracloud-0.68.0
    
  2. Set environment variables
    Code Block
    export JAVA_OPTS="-XX:MaxPermSize=256m"
    export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=1024m"
    
  3. Configure Tomcat
    1. Add to $CATALINA_HOME/conf/tomcat-users.xml
      No Format
      <tomcat-users>
        <role rolename="manager"/>
        <role rolename="admin"/>
        <user username="any-username" password="any-password" roles="admin,manager"/>
      </tomcat-users>
      
  4. Start tomcat
    Code Block
    $CATALINA_HOME/bin/startup.sh
    
  5. Configure Maven2
    1. Add tomcat user to $M2_HOME/conf/settings.xml
      No Format
      <servers>
        <server>
          <id>tomcat-server</id>
          <username>any-username</username>
          <password>any-password</password>
        </server>
      </servers>
      
  6. Build with only unit tests
    1. From top of source tree
      Code Block
      mvn clean install -PskipIntTests
      
      Note: Each of the maven2 project modules are configured to halt the build if there is a test failure. The only exception to this is the integration-test module which is configured to run through all of its tests regardless of failures. So the above build command can optionally exclude the '-PskipIntTests' flag if desired.

...