RapidDeploy

rapiddeploy jenkins GitHub release GitHub release date rapiddeploy jenkins?color=blue rapiddeploy plugin?color=blue

icon Codacy code quality

Developed by

MidVision Limited

This plugin provides the best way of taking advantage of all the functionality and benefits of RapidDeploy from a Jenkins job or pipeline. This functionality includes:

⚠️
It is strictly necessary the version of RapidDeploy targeted when using this plugin is 3.3.23 or higher. Some of the features provided may also require a higher version of RapidDeploy for specific functionality.

Steps and actions

RapidDeploy project deployment

Invokes a project deployment on a RapidDeploy server as either a build step or a post-build action. Multiple deployments can be executed sequentially or in parallel. You can check the result and the process logs in the Jenkins build output.

This task can be used with RapidDeploy 3.3.23 or higher.

Parameters

  • RapidDeploy server URL: the URL to the RapidDeploy server you want to connect to, including the protocol (e.g.: http://192.168.1.1:8090/MidVision).

  • RapidDeploy authentication token: the authentication token used to connect to the RapidDeploy server. It can be generated by the MidVision encrypter tool.

  • RapidDeploy project name: the name of the RapidDeploy project you want to deploy.

  • RapidDeploy project target name: the RapidDeploy project target to deploy to (i.e.: SERVER.INSTALLATION.CONFIGURATION).

  • Deployment package name: the name of the RapidDeploy deployment package to deploy. Leave this field blank or set it to "LATEST" if you want to deploy the latest package.

  • Asynchronous job: this option allows the step to run asynchronously. The Jenkins job will continue to the next build step immediately once the project deployment request has been made to RapidDeploy. Use this option to deploy projects in parallel. Synchronous steps are supported from RapidDeploy version 3.4.0+.

  • Show full log: when checking this option, you will see the entire log file of the RapidDeploy deployment in the Jenkins job output, if left unchecked, only a link to the RapidDeploy log file will be printed in the job output.

Data Dictionary

Is it possible to override the data dictionary of a RapidDeploy project by using the parameters of a parametrised Jenkins job.

In order to use this feature, the paraemter key needs to be in the same form of a RapidDeploy data diciontary item key, i.e., using the @@ string as a prefix and suffix. For example:

  • @@PARAM_1@@

  • @@param_one@@

When you use this specific syntax, the parameter will automatically be considered a data dictionary item.

⚠️

For a standard RapidDeploy deployment, the data dictionary is taken from inside the deployment package version we want to deploy.

When using this feature on Jenkins, a new temporary injected package is created to be able to override these data dictionary items.

It is important to keep this in mind, because this means the particular deployment package version used for the deployment was altered, to override these data dictionary items, and thus it could provoke inconsistency when deploying the same deployment package version again, without these data dicionary items overridden.

RapidDeploy deployment package creation

Invokes a deployment package creation on a RapidDeploy server as either a build step or a post-build action. You can check the result and the process logs in the Jenkins build output.

This task can be used with RapidDeploy 3.4.5 or higher. When using the version 3.7 or higher of the plugin it is required to target a RapidDeploy version 4.0 or above.

Parameters

  • RapidDeploy server URL: the URL to the RapidDeploy server you want to connect to, including the protocol (e.g.: http://192.168.1.1:8090/MidVision).

  • RapidDeploy authentication token: the authentication token used to connect to the RapidDeploy server. It can be generated by the MidVision encrypter tool.

  • RapidDeploy project name: the name of the RapidDeploy project for which you want to create a new deployment package.

  • Package name: the name of the RapidDeploy deployment package you are creating. If not provided, an automatic version incremental name will be used based on the latest package name.

  • Archive extension: the extension of the deployment package file to generate: jar, war, ear, tar, rar or zip. It defaults to jar.

RapidDeploy job plan runner

Invokes a job plan run on a RapidDeploy server as either a build step or a post-build action. Multiple job plans can be executed sequentially or in parallel. You can check the result and the process logs in the Jenkins build output.

This task can be used with RapidDeploy 3.3.23 or higher.

Parameters

  • RapidDeploy server URL: the URL to the RapidDeploy server you want to connect to, including the protocol (e.g.: http://192.168.1.1:8090/MidVision).

  • RapidDeploy authentication token: the authentication token used to connect to the RapidDeploy server. It can be generated by the MidVision encrypter tool.

  • RapidDeploy job plan: the ID of the RapidDeploy job plan you want to run.

  • Asynchronous job: this option allows the step to run asynchronously. The Jenkins job will continue to the next build step immediately once the job plan run request has been made to RapidDeploy. Use this option to run job plans in parallel. Synchronous steps are supported from RapidDeploy version 3.4.0+.

  • Show individual logs: this option allows the user to see the logs of all the individual project deployments included in the job plan.

  • Show full log: when checking this option, you will see the entire log file of the RapidDeploy job plan execution in the Jenkins job output, if left unchecked, only a link to the RapidDeploy log file will be printed in the job output.

Jenkins Pipeline Steps

For a deeper explanation of each parameter, please refer to the previous section.

rdProjectDeploy: invokes a RapidDeploy project deployment.

  • serverUrl
    RapidDeploy server URL.

    • Type: String

  • authToken
    RapidDeploy authentication token.

    • Type: String

  • project
    RapidDeploy project name.

    • Type: String

  • target
    RapidDeploy project target name.

    • Type: String

  • deploymentPackageName (optional)
    Deployment package name.

    • Type: String

  • asynchronous (optional)
    Asynchronous job.

    • Type: boolean

  • showFullLog (optional)
    Show full log.

    • Type: boolean

  • dictionary (optional)
    The RapidDeploy project data dictionary.

    • Type: Map

This is an example use:

rdProjectDeploy serverUrl: "${RD_SERVER_URL}",
   authToken: "${RD_AUTH_TOKEN}",
    project: 'CI_Test',
    target: 'localhost_linux.dev.LocalTest',
    deploymentPackageName: 'LATEST',
    asynchronous: false,
    showFullLog: false,
    dictionary: ["@@INITIAL_BUILD@@":"${env.INITIAL_BUILD}", "@@ANOTHER_BUILD@@":"10.0.0.3"]

rdPackageBuild: invokes a RapidDeploy deployment package creation.

  • serverUrl
    RapidDeploy server URL.

    • Type: String

  • authToken
    RapidDeploy authentication token.

    • Type: String

  • project
    RapidDeploy project name.

    • Type: String

  • packageName (optional)
    Package name.

    • Type: String

  • archiveExtension (optional)
    Archive extension.

    • Type: String

This is an example use:

rdPackageBuild serverUrl: "http://localhost:8090/MidVision",
    authToken: "bXZhZG1pbjp7X01WQEVOQyNffVdHLzFmNVMreVpRPQ==",
    project: 'CI_Test',
    packageName: '',
    archiveExtension: 'zip'

rdJobPlanRun: invokes a RapidDeploy job plan run.

  • serverUrl
    RapidDeploy server URL.

    • Type: String

  • authToken
    RapidDeploy authentication token.

    • Type: String

  • jobPlanId
    RapidDeploy job plan ID.

    • Type: int

  • asynchronous (optional)
    Asynchronous job.

    • Type: boolean

  • showIndividualLogs (optional)
    Show individual logs.

    • Type: boolean

  • showFullLog (optional)
    Show full log.

    • Type: boolean

This is an example use:

rdJobPlanRun serverUrl: "${RD_SERVER_URL}",
    authToken: "${RD_AUTH_TOKEN}",
    jobPlanId: 1,
    asynchronous: false,
    showIndividualLogs: true,
    showFullLog: false