Versions Compared

Key

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

...

The entities that need to be administered for moves are listed below.

  1. Repositories
  2. Environments
  3. Stacks
  4. Container Types
  5. Containers
  6. Applications

In general you should set entitities entities up in the order that they appear above. The entities are described in detail below.

#Repositoriesh4. Repositories
Repositories are maven repositories, accessible to moves over http/https. An example is the the SAIS Group repository at https://mv-ezproxy-com.ezproxyberklee.flo.org/nexus/content/groups/saisGroupRepo. Maven has a well defined format, which specifies where to find an application within a repository. Each Application has an 'ArtifactId', a 'GroupId' and a 'Version'. So, for example, moves itself has artifactId=sais-moves-web, groupId=edu.mit.ist.es, versionId=2.0.0. Maven will translate this, by default into a final location of https://mv-ezproxy-com.ezproxyberklee.flo.org/nexus/content/groups/saisGroupRepo/edu/mit/ist/es/sais-moves-web/2.0.0/sais-moves-web-2.0.0.war" The properties you need to configure for a repository are:

...

A Stack is simply a grouping of Containers by Environment. Stacks allow Moves to answer the question 'What is the container for Application 'X' in Environment 'Y'. Once you create a Stack, you can add containers to it for each environment. When we subsequently configure an application, we will tell it what Stack is associated with that application. (So, for example, the application 'OGS Application' might reference 'OGS Stack'. 'OGS Stack' references containers for 'Production', 'QA', and 'Development'). By looking at these relationships, Moves knows which container to deploy to when asked to deploy to a particular environment.

Currently, the approach is to set up a stack for each application. Moves will allow

(This is a business rule, Moves will allow you to associate multiple

Moves knows how to parse this information out.
Moves can now automatically detect which versions of an application are in the repository, allowing a user to confidently select a version from a list, instead of typing in an unvalidated string.

Behind the scenes it constructs a regular expression from but in the event that you need to

http://mv.ezproxy.com.ezproxyberklee.flo.org/nexus/content/groups/saisGroupRepo/edu/mit/ist/es/common/sais-common/2.2/Image Removed
Armed with these pieces of information, Moves knows where to look for an application.

For example, moves itself has the Artifact Id

/edu/mit/ist/es/common/sais-common/2.2/

Containers

A container is the service that an application is deployed to. When you configure a new Container, you will be asked to select from one of the container types. The two container types that are currently available are

  • OC4J Container (deploys to Oc4j containers)
  • Mock Container (does nothing, used to test workflows)
    In the future we will implement other containers according to MIT needs (tomcat/weblogic etc). For the Oc4j container, the deployerUrl must be configured. This is the url you would normally type if you are manually deploying an application using the oracle admin_client.jar utility. (TODO: discuss the optional and required parameters in more detail)
Applications

Applications represent web apps (.war or .ear applications) that can be deployed to a container. (TODO: discuss the optional and required parameters in more detail) that contain web applications to be deployed. Repositories are typically maven repositories.