marathon-maven-plugin

Maven plugin for interacting with Marathon

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

com.holidaycheck
ArtifactId

ArtifactId

marathon-maven-plugin
Last Version

Last Version

0.0.2
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

marathon-maven-plugin
Maven plugin for interacting with Marathon
Project URL

Project URL

https://github.com/holidaycheck/marathon-maven-plugin
Source Code Management

Source Code Management

https://github.com/holidaycheck/marathon-maven-plugin

Download marathon-maven-plugin

How to add to project

<plugin>
    <groupId>com.holidaycheck</groupId>
    <artifactId>marathon-maven-plugin</artifactId>
    <version>0.0.2</version>
</plugin>

Dependencies

compile (2)

Group / Artifact Type Version
cc.roden : marathon-client jar 0.4.7
org.apache.maven : maven-core jar 3.2.1

provided (1)

Group / Artifact Type Version
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.4

test (4)

Group / Artifact Type Version
org.apache.maven.plugin-testing : maven-plugin-testing-harness jar 3.2.0
org.apache.maven : maven-compat jar 3.2.1
junit : junit jar 4.12
com.squareup.okhttp : mockwebserver jar 2.4.0

Project Modules

There are no modules declared in this project.

marathon-maven-plugin

Maven plugin for interacting with Marathon

It can both process marathon.json config and use it to push it to Marathon host for deployment.

Maven documentation

For detailed documentation of goals and configuration options run in your project: mvn com.holidaycheck:marathon-maven-plugin:help -Ddetail=true

Basic usage

This plugin plays well with docker-maven-plugin so you might want to use it e.g. to include proper versioning of Docker image in marathon.json.

Add plugin configuration to your pom.xml:

<plugin>
	<groupId>com.holidaycheck</groupId>
	<artifactId>marathon-maven-plugin</artifactId>
	<version>0.0.2</version>
	<configuration>
		<image>${docker-image-prefix}/${project.build.finalName}:${project.version}-${gitShortCommitId}</image>
		<marathonHost>http://${mesos.host}:${mesos.port}</marathonHost>
	</configuration>
	<executions>
		<execution>
			<id>processConfig</id>
			<phase>install</phase>
			<goals>
				<goal>processConfig</goal>
			</goals>
		</execution>
		<execution>
			<id>deploy</id>
			<phase>deploy</phase>
			<goals>
				<goal>deploy</goal>
			</goals>
            <configuration>
                    <waitForDeploymentFinished>true</waitForDeploymentFinished>
                    <waitForDeploymentTimeout>10</waitForDeploymentTimeout>
            </configuration>
		</execution>
		<execution>
			<id>apptasks</id>
			<phase>pre-integration-test</phase>
			<goals>
				<goal>apptasks</goal>
			</goals>
			<configuration>
				<propertyPrefix>mesos-</propertyPrefix>
			</configuration>
		</execution>
		<execution>
			<id>delete</id>
			<phase>post-integration-test</phase>
			<goals>
				<goal>delete</goal>
			</goals>
		</execution>
	</executions>
</plugin>

By default your template marathon.json should be in the root project directory.

com.holidaycheck

HolidayCheck

Versions

Version
0.0.2
0.0.1