Skip to content

Gradle plug-in to create a Docker image that includes an Eclipse Virgo container

License

Notifications You must be signed in to change notification settings

maskshell/dockerizor

 
 

Repository files navigation

Build Status

dockerizor

Gradle plug-in to create a Docker image that includes an Eclipse Virgo container.

During our preparations for the EclipseCon talk about our first Docker project, we spent quite some time packaging Virgo containers inside Docker images.

We investigated how to improve the continuous delivery of Virgo powered applications using Gradle and Docker. The outcome is the Gradle Plugin ''dockerizor''.

In a first step we automated the generation of basic Virgo images.

Using the Gradle Plugin

The following build snippet applies the Gradle Plugin Dockerizor to your build script:

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "gradle.plugin.com.eclipsesource.dockerizor:dockerizor:0.6.3"
  }
}

apply plugin: "com.eclipsesource.dockerizor"

Building basic Virgo images

Both the Docker...

dockerizor {
  maintainer = 'Florian Waibel <[email protected]>'
  description = 'Docker image build with dockerizor'

  // docker client configuration
  uri = "http://localhost:4243"
  tag = "latest"

  javaImage = 'java:openjdk-6b36-jre'
}

...and Virgo specific configuration is done within the dockerizor block.

dockerizor {
  virgoFlavour = 'VJS'
  removeAdminConsole = true
  removeSplash = true

  imageName = 'virgo-jetty-server'
}

The snippet above creates a Docker image named 'virgo-jetty-server' with the Virgo flavor VJS (Virgo Jetty Server).

$ docker images | grep virgo-jetty-server
eclipsesource/virgo-jetty-server   3.6.4.RELEASE       0f900c762dcf        5 minutes ago       332.7 MB

The generated basic images for Virgo are available via Docker Hub:

About

Gradle plug-in to create a Docker image that includes an Eclipse Virgo container

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Groovy 100.0%