The following plugin provides functionality available through Pipeline-compatible steps. Read more about how to integrate steps into your Pipeline in the Steps section of the Pipeline Syntax page.

For a list of other such plugins, see the Pipeline Steps Reference page.

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 of 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 of Nested Object
    • name
      • Type: String
    • value
      • Type: String
  • uris (optional)

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

      Array / List of Nested Object
    • uri
      • Type: String

Was this page helpful?

Please submit your feedback about this page through this quick form.

Alternatively, if you don't wish to complete the quick form, you can simply indicate if you found this page helpful?

    


See existing feedback here.