This document describes the functionality provided by the xlr-xldeploy-plugin.
See the XL Release Documentation for background information on XL Release and release concepts.
The xlr-xldeploy-plugin is a XL Release plugin that allows to start a control task, start a deployment, migrate a deployment package to another server or get the latest version of an application on XL Deploy.
Place the latest released version under the plugins
dir for XL Release 7.x or under the plugins/__local__
for XL Release 8+. If needed append the following to the script.policy
under conf
:
permission java.io.FilePermission "plugins/*", "read";
permission java.io.FilePermission "conf/logback.xml", "read";
- This plugin (2.3.x+) requires XLR 5.x+
- When using XL Release 7.x:
v2.9.1
is compatible with XLR 7.x. Use this version if you don't want to go experimental.v3.x
will only work with XLR 7.x+ and has breaking changes. This means shared configurations and tasks will need to be reconfigured. When an upgrader has been written this will also be mentioned here.- v3.x is dependent upon the out-of-box xlr-xld-plugin-7.x plugin bundled with the v7.x server. v2.9.1 and lower are independent.
- If you're using a
v7.x
of the plugin, these are deprecated and should be replaced with av3.x
version.
-
ControlTask (compatible with XL Deploy 4.5.2 and up)
ciId
controlTaskName
parameters
continueIfStepFails
(Will try to continue if a step in a control task fails)numberOfContinueRetrials
(Number of times to retry a step)pollingInterval
numberOfPollingTrials
-
DeployTask (compatible with XL Deploy 4.5.1 and up)
deploymentPackage
(ID of the deployment package to deploy e.g.:Applications/XL Release/XLR/1.0
)environment
(ID of the environment to deploy to e.g.:Environments/Xl Release/XL Release
)orchestrators
(Comma separated list of orchestrators to be used:parallel-by-deployment-group, parallel-by-container
)deployedApplicationProperties
(Dictionary containing all the deployed application properties to be set (except orchestrators). e.g.:{"maxContainersInParallel": "2"}
)overrideDeployedProps
(Map contain xpath expression to override deployed properties.) e.g.: {'deployeds/openshift.ResourceModule[@id="Infrastructure/Server/Openshift/project/myapp"]/placeholders/entry[@key="openshift.placeholder"]': 'value'}deployedProperties
DEPRECATED - (use overrideDeployedProps)(Dictionary containing all the properties to be set. Remark: Each key is an xlrTag in the deployeds - See also https://github.com/xebialabs-community/xld-xlrelease-plugin, e.g.:{"Gate1": "{'taskId':'1234567890'}"}
)continueIfStepFails
(Will try to continue if a step in the deployment task fails)numberOfContinueRetrials
(Number of times to retry a step)rollbackOnError
(Whether rollback should be done if the deployment fails)pollingInterval
(Number of seconds to wait before polling the task status)numberOfPollingTrials
(Number of times to poll for task status)failOnPause
(If checked task will fail if the deployment enters a STOPPED state, for example if the xld-pause-plugin is in use. Set to True by default for backwards compatibility)
-
UndeployTask (compatible with XL Deploy 4.5.1 and up)
deployedApplication
- Name of the deployed application you want to undeploy (Only the name, without Environments, etc...)environment
(ID of the environment to deploy to e.g.:Environments/Xl Release/XL Release
)orchestrators
(Comma separated list of orchestrators to be used:parallel-by-deployment-group, parallel-by-container
)deployedApplicationProperties
(Dictionary containing all the deployed application properties to be set (except orchestrators). e.g.:{"maxContainersInParallel": "2"}
)continueIfStepFails
(Will try to continue if a step in the deployment task fails)numberOfContinueRetrials
(Number of times to retry a step)rollbackOnError
(Whether rollback should be done if the deployment fails)pollingInterval
(Number of seconds to wait before polling the task status)numberOfPollingTrials
(Number of times to poll for task status)failOnPause
(If checked task will fail if the deployment enters a STOPPED state, for example if the xld-pause-plugin is in use. Set to True by default for backwards compatibility)
-
Migrate Package (compatible with XL Deploy 6.0.0 and up)
server
- Server to pull a package fromusername
- Override source usernamepassword
- Override source passworddestinationServer
- Server to pull package todestinationUsername
- Override destination usernamedestinationPassword
- Override destination passworddeploymentPackage
- ID of the package to migrate (starting withApplications/
)autoCreatePath
- If set the task will automatically create the path and application if it doesn't exist in the destinationidempotent
- If True anddeploymentPackage
exists ondestinationServer
, it will be overwritten. If false, it will error.
-
Import Package
server
- Server to import a package tousername
- Override usernamepassword
- Override passwordrepositoryUrl
- Url of the packagerepositoryUsername
- Optional username for the repositoryrepositoryPassword
- Optional password for the repository
-
Get CI
server
- Server to queryusername
- Override usernamepassword
- Override passwordciID
- ID of the Configuration Item wantedaccept
- Desired format of the return: XML or JSONthrowOnFail
- Boolean - If True, a False return will Fail the task rather than just returning False.response
- Return value of the CI described in the format requested
-
Get All Versions
server
- Server to queryusername
- Override usernamepassword
- Override passwordapplicationId
- ID of the application to query for all package versionspackageId
- Return value with the all package IDs of the application (NOTE: this needs to be a variable of the list type, and needs to be defined beforehand)
-
Get Latest Version
server
- Server to queryusername
- Override usernamepassword
- Override passwordapplicationId
- ID of the application to query for latest package versionstripApplications
- Whether to strip "Applications/" from the beginning of the returned package IDpackageId
- Return value with the latest package ID
-
Get Last Version Deployed
server
- Server to queryusername
- Override usernamepassword
- Override passwordenvironmentId
- ID of the environment to check the application version onapplicationName
- Name of the applicaiton in the environment to get the current version of returned package IDapplicationId
- Return value with the current application ID
-
Does CI exist
server
- Server to queryusername
- Override usernamepassword
- Override passwordciID
- Repo path to CI to check for existence, e.g.Infrastructure/myHost
throwOnFail
- Boolean - If True, a False return will Fail the task rather than just returning False.
-
Create CI
server
- Server to queryusername
- Override usernamepassword
- Override passwordciID
- Repo path to CI to create, e.g.Infrastructure/myHost
ciType
- Type of CI to create, e.g.overthere.CifsHost
xmlDescriptor
- XML with the fields to set on the CI, e.g.<os>WINDOWS</os><connectionType>WINRM_NATIVE</connectionType><address>${address}</address><username>${username}</username><password>${password}</password>
- or if you use Credential Objects:
<os>WINDOWS</os><connectionType>WINRM_NATIVE</connectionType><address>${address}</address><credential ref="Configuration/MyCredential"/>
addToEnvironment
- Switch to decide if to add the CI to an environmentenvID
- Environment to add the CI to.
-
Create Folder (Tree)
server
- Server to queryusername
- Override usernamepassword
- Override passwordfolder_id
- Path of folder structure you wish to create without top level type, e.g.TeamA/DEV/Application
folder_type
- Top level type under which the folder should be created e.g.Applications
-
Delete CI
server
- Server to queryusername
- Override usernamepassword
- Override passwordciID
- ID of the Configuration Item you want to deleteenvID
- If provided, will remove the CI from an Environment firstthrowOnFail
- Boolean - If True, the Task will fail if the Deletion does not succeed.
-
Delete Infrastructure - This task will delete the specified Infrastructure CI, AND will also undeploy any deployed applications on the infrastrucutre as well as remove the infrastructure from any environments where it is referenced as a container.
server
- Server to queryusername
- Override usernamepassword
- Override passwordci_id
- Fully qualified id from the Infrastructure CI to delete
-
CLI Config (Global Configuration)
CLI Home
- Home directory where XL Deploy CLI is installedXLD Host
- Host the CLI should connect to DEFAULT will work if on the same server as XL DeployXLD Port
- Port for XL Deploy server. DEFAULT will work if using the default XL Deploy portXLD Secure
- Specify secure connection for XL Deploy. If true, Port will default to 4517XLD Context
- XLD CLI context. If no context is needed then DEFAULT will be fineXLD Proxy Host
- Proxy host if needed.XLD Proxy Port
- Proxy Port if needed.XLD Socket timeout
- Connection timeout to XL DeployXLD User Name
- User name to connect to XL DeployXLD Password
- Password to connect to XL Deploy
-
CLI
script
- CLI Script to execute
-
CLI URL
scriptURL
- URL to CLI Script to execute
-
Get CI Tags
Server
: XL Deploy Server CIUsername
Password
XLD CI
: The XL Deploy CI to get the tags from
Outputs
XLD Tags
: List of tags returned from the XL Deploy server
-
Add CI Tag
Server
: XL Deploy Server CIUsername
Password
XLD CI
: The XL Deploy CI to get the tags fromXLD New Tag
: New tag to add to the list of tags in the XL Deploy CI
Outputs
XLD Tags
: List of tags returned from the XL Deploy server
-
Set CI Tags
Server
: XL Deploy Server CIUsername
Password
XLD CI
: The XL Deploy CI to get the tags fromXLD New Tags
: New list of tags to add to the list of tags in the XL Deploy CI
Outputs
XLD Tags
: List of tags returned from the XL Deploy server
- Create Environment
Server
: XL Deploy Server CIUsername
Password
CI ID
: The XL Deploy Environment CI to be createdMembers
: List of Infrastructure CIs to be includedDictionaries
: List of Dictionaries to be included
- Create Dictionary
Server
: XL Deploy Server CIUsername
Password
CI ID
: The XL Deploy Dictionary CI to be createdEntries
: Key-Value pairs for the dictionary items (map_string_string)
- Add Entry to Dictionary
Server
: XL Deploy Server CIUsername
Password
Dictionary ID
: The XL Deploy Dictionary CI to be createdKey
: Key for the dictionary itemValue
: Value for the dictionary item
If the key is already present, its value will be updated.
- Add Entries to Dictionary
Server
: XL Deploy Server CIUsername
Password
CI ID
: The XL Deploy Dictionary CI to be createdNew Entries
: Key-Value pairs for the dictionary items (map_string_string)
If a key is already present, its value will be updated.
- Create Simple CI
Server
: XL Deploy Server CIUsername
Password
CI ID
: The XL Deploy CI to be createdProperties
: Key-Value pairs for the CI properties
This task supports only simple string properties.