Skip to content

citrusframework/citrus-docker-images

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Citrus Docker Container Logo

This project builds Docker images for running Citrus integration tests.

Build image

This project contains Dockerfiles for the Citrus Docker images. You can build the images locally with Maven calling

mvn docker:build

After that you should have a set of new images on your Docker host named consol/citrus. You can use this base image in other Maven projects in order to execute the Citrus tests within Docker boundaries. This is extremely useful in case the Citrus tests need to participate as container in the Docker universe e.g. for accessing other containers with Docker networking and DNS resolving features.

Also this image can be used to be part of Kubernetes or Openshift. When run as a Pod in Kubernetes the Citrus in-container test cases are able to access exposed services via Kubernetes service discovery.

Usage

The Citrus Docker image executes Citrus integration tests as Maven build within the container. The image is based on the Maven Docker image and executes a Maven project build on container startup.

The image has a prepared Maven repository containing all available Citrus artifacts. The container executes Maven POMs in the app directory (default /maven). Therefore the image is well suited for usage with the Fabric8 Docker Maven plugin that is able to assemble Maven projects in /maven.

Your Citrus Maven project just needs to add the following POM configuration of the Fabric8 Docker plugin in order to bootstrap the complete Citrus Docker image:

<plugin>
    <groupId>io.fabric8</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>${fabric8.docker.plugin.version}</version>
    <configuration>
      <verbose>true</verbose>
      <images>
        <image>
          <alias>my-app-tests</alias>
          <name>citrus/my-app-tests:${project.version}</name>
          <build>
            <from>consol/citrus:2.7.6</from>
            <tags>
              <tag>latest</tag>
            </tags>
            <assembly>
              <descriptorRef>project</descriptorRef>
            </assembly>
          </build>
          <run>
            <namingStrategy>alias</namingStrategy>
            <log>
              <enabled>true</enabled>
              <color>green</color>
            </log>
          </run>
        </image>
      </images>
    </configuration>
</plugin>

The Docker Maven plugin descriptor reference descriptorRef=project will automatically add the complete Maven project to the container. When the container is run the Maven build is automatically started and all Citrus test cases are executed within the container.

On a Docker Maven plugin enabled project you may execute:

mvn docker:build
mvn docker:start
mvn docker:stop

Team

ConSol Software GmbH
[email protected]

http://www.citrusframework.org

Information

For more information on Citrus see www.citrusframework.org, including a complete reference manual.

About

Dockerfiles to create Citrus containers in docker.io

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages