Imeji Continuous Integration

From MPDLMediaWiki
Jump to navigation Jump to search

This page describes how the continuous integration is done fo imeji

imeji POM[edit]

  • Define the SCM
<scm>
 <url>https://github.com/imeji-community/imeji</url>
 <connection>scm:git:git://github.com/imeji-community/imeji.git</connection>
 <developerConnection>scm:git:git@github.com:imeji-community/imeji.git</developerConnection>
 <tag>develop</tag>
</scm>
  • Add a new profile
<profile>
 <id>env-testing-continuum</id>
  <activation>
   <activeByDefault>false</activeByDefault>
  </activation>
  <properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <jdk.version>1.7</jdk.version>
   <project.build.finalName>imeji</project.build.finalName>
  </properties>
  <build>
  <plugins>
   <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.1</version>
    <configuration>
     <url>http://dev-faces.mpdl.mpg.de/manager/text</url>
     <server>tomcat</server>
     <path>/imeji</path>
     <!-- Because we defined the war name in the POM, maven search for the wrong war name. Here we fix it-->
     <warFile>/X/continuum/apache-continuum-1.4.1/data/working-directory/178/target/imeji.war</warFile>
    </configuration>
   </plugin>
  </plugins>
 </build>
</profile>

Continuum[edit]

  1. Create a project group (imeji)
  2. Create a project (imeji)
    1. Use PM from Git https://raw.githubusercontent.com/imeji-community/imeji/develop/pom.xml
    2. Use option Checkout multi-module project in single directory
  3. Add a new new Goal clean tomcat7:redeploy with arguments --batch-mode --non-recursive

settings.xml[edit]

  • On server continuum.mpdl.mpg.de, log as root and add into settings.xml (/root/.m2/settings.xml) a new server:
<server>
 <id>tomcat</id>
  <username>continuum</username>
  <password>password</password>
</server>

Tomcat[edit]

  • Set the admin user in conf/tomcat-users.xml (admin is to use html administration page)(change the passwords)
<role rolename="manager-gui"/>
<role rolename="manager-text"/>
<role rolename="manager-script"/>
<user username="admin" password="password" roles="manager-gui"/>
<user username="continuum" password="password" roles="manager-script,,manager-text"/>
  • Edit context.xml (important by undeploy, otherwise the imeji.war can not be removed)
<Context antiJARLocking="true" antiResourceLocking="true">
 <max-file-size>524288000</max-file-size>
 <max-request-size>524288000</max-request-size>