Marathon Deployment

marathon: Marathon Deployment

url

This parameter is required.

The URL for the target Marathon instance following the format: http[s]://hostname:port. The port section is optional.

Example: http://marathon.example.com

Type: String

appid (optional)

Type: String

credentialsId (optional)

There are two types of authentication supported:

  • Basic Authentication (Username and Password)
  • DC/OS Service Account (String)

Basic Authentication

To authenticate with HTTP basic authentication, select a credential of type username with password. DC/OS does not support this authentication type.

DC/OS Service Account

DC/OS Service Accounts use JSON Web Tokens (JWTs) to authenticate with DC/OS and retrieve an access token for use in subsequent requests. This plugin generates the JWT from the content of the selected credential and handles the creation and management of the necessary access token.

The content of the selected credential is a JSON object with the following fields (extra fields are ignored):

  • uid
    DC/OS service account ID (example: "jenkins-sa")
  • login_endpoint
    URL for the login end point of the target DC/OS cluster (example: "https://leader.mesos/acs/api/v1/auth/login")
  • scheme
    This must be "RS256". Algorithm to use with private_key.
  • private_key
    Private key to use for signing JWTs, which is verified by the corresponding public key registered with DC/OS. Note the inclusion of "\n" to make the content JSON friendly.
    (example: "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAI...")
Example JSON Secret
    {"uid":"jenkins","login_endpoint":"https://leader.mesos/acs/api/v1/auth/login","scheme":"RS256","private_key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpAI..."}
    

Type: String

docker (optional)

A Docker image name, including a URI if using a private registry. This will overwrite the image field in the Application Definition file.

Type: String

dockerForcePull (optional)

Type: boolean

env (optional)

Env are used to set environment variables to Marathon apps.

Array/List

Nested Object

name

Type: String

value

Type: String

filename (optional)

The path to the Marathon application definition, a JSON file. A path (builds/marathon.json) is relative to the build's workspace ($WORKSPACE). If left blank, the default value (marathon.json) will be used.

Type: String

forceUpdate (optional)

This parameter decides how to handle updating a Marathon application that has an active deployment.

If this is set to true (checked), then a new deployment will be forced and the current deployment canceled. If this is set to false (unchecked), then this plugin will attempt to update the Marathon application every couple of seconds until a timeout is reached. If the plugin is unable to successfully update the application before the timeout is reached, then the job will be marked as failed.

More information can be found on the Marathon REST API documentation page.

Type: boolean

id (optional)

This parameter will overwrite the id field in the Application Definition file. Please read the Marathon REST API documentation for this parameter's format.

Type: String

labels (optional)

Labels are used to attach metadata to Marathon applications. Labels are also used within the Marathon UI to sort and filter applications.

Array/List

Nested Object

name

Type: String

value

Type: String

uris (optional)

URIs to download into the container sandbox before the Marathon application starts.

Array/List

Nested Object

uri

Type: String