This is the IBM UrbanCode Deploy plugin for Jenkins Pipeline (Jenkins 2.0). This plugin is also referred to as the Build Steps plugin since you are able to interact with UrbanCode Deploy via a job step in Jenkins versus a post-processing action. The plugin allows you to upload component versions, create snapshots, and run processes among other things.
More information about this plugin is available here and here.
The compiled plugin is available for download on the IBM UrbanCode website. Download the plugin from our website if you wish to skip the manual build step. No special steps are required for installation. Otherwise, clone this repository and run the ant
command in the top level folder. This should compile the code and create a .hpi file within the /dist folder. Use this command if you wish to make local changes to the plugin. The build process will automatically install Apache Ivy if it is not previously installed.
Plug-ins downloaded directly from the IBM UrbanCode Plug-ins microsite are fully supported by IBM. Create a GitHub Issue or Pull Request for minor requests and bug fixes. For time sensitive issues that require immediate assistance, file a PMR through the normal IBM support channels. Plug-ins built externally or modified with custom code are supported on a best-effort-basis using GitHub Issues.
This open source plug-in uses Gradle as its build tool. Install the latest version of Gradle to build the plug-in locally. Build the plug-in by running the gradle jpi
command in the plug-in's root directory. The plug-in distributable will be placed under the build/libs
folder.
Full explanation of these Pipeline syntax examples can be found on our Jenkins Pipeline Syntax documentation.
node {
step([$class: 'UCDeployPublisher',
siteName: 'local',
component: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.VersionHelper$VersionBlock',
componentName: 'Jenkins',
createComponent: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.ComponentHelper$CreateComponentBlock',
componentTemplate: '',
componentApplication: 'Jenkins'
],
delivery: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.DeliveryHelper$Push',
pushVersion: '${BUILD_NUMBER}',
baseDir: 'jobs\\test-ucd\\workspace\\build\\distributions',
fileIncludePatterns: '*.zip',
fileExcludePatterns: '',
pushProperties: 'jenkins.server=Local\njenkins.reviewed=false',
pushDescription: 'Pushed from Jenkins'
]
]
])
}
node {
step([$class: 'UCDeployPublisher',
siteName: 'local',
component: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.VersionHelper$VersionBlock',
componentName: 'Jenkins'
],
deploy: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.DeployHelper$DeployBlock',
deployApp: 'Jenkins',
deployEnv: 'Test',
deployProc: 'Deploy Jenkins',
createProcess: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.ProcessHelper$CreateProcessBlock',
processComponent: 'Deploy'
],
deployVersions: 'Jenkins:${BUILD_NUMBER}',
deployOnlyChanged: false
]
])
}
node {
step([$class: 'UCDeployPublisher',
siteName: 'local',
component: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.VersionHelper$VersionBlock',
componentName: 'Jenkins',
createComponent: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.ComponentHelper$CreateComponentBlock',
componentTemplate: '',
componentApplication: 'Local'
],
delivery: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.DeliveryHelper$Pull',
pullProperties: 'FileSystemImportProperties/name=${BUILD_NUMBER}\nFileSystemImportProperties/description=Pushed from Jenkins',
pullSourceType: 'File System',
pullSourceProperties: 'FileSystemComponentProperties/basePath=C:\\Test',
pullIncremental: false
]
]
])
}
Fixed : Removed httpcore dependencies as it is no more used
Fixed : Removed checkbox to push failed build as it was causing Trigger version Import step to work improperly
Fixed : Updated plugin url.
Fixed : Added checkbox to push failed build.
RFE - Add Application Property in Environment Variable
Fixed : UI Issue compatible for save and apply button.
RFE 147414 : Added ucd application process log url for more details.
Fixed : Addition of latest version to specified component only instead of all components.
Fixed APAR PH28324 - UCD Jenkins Plugin - Fail the Jenkins job if nothing is found to push to UCD( avoid false positive).
Block "Run as Alternative User" : Help text added for "Alternative Username" and "Alternative Password".
Fixed APAR PH25862 - Making deploy version "not required" field to support following, which needs no version:
- Operational component process.
- Application generic process.
Fixed APAR PH23739 - Fixed : Jenkins Plugin Shows success on Canceled job in UCD
Fixing CVE:CVE-2019-4233
Modified process to continue if user is unable to set environment variable.
Set component version as environment variable when pushing a new version.
Added option to skip waiting for a successful deployment from UCD.
Added functionality to preemptively create environment snapshot to use during deployment.
Fixed 401 http error when setting version properties by using latest uDeployRestClient.
Fixed all Null pointer and bad casting exceptions returned in Jenkins system logs upon saving a job. Removed administrative checkbox from global and job configuration of user credentials.
Fixed APAR PI91900 - Unfilled application process properties unable to be checked with a snapshot.
Fixed APAR PI85407 - Importing component versions no longer fails when runtime properties aren't provided.
RFE 104275 - Support for Description and Application Request Properties on deployments.
Fixed APAR PI80038 - Snapshot names no longer require a leading equals sign.
Fixed APAR PI77548 - Component process properties failing to resolve on deployment.
RFE 98375 - Jenkins Plugin only allows Global credentials instead of job-based credentials.
Fixed PI75045 - UCD server maintenance mode check requires admin privileges.
Fixed PI61971 - Connection pool leak in Jenkins ibm-ucdeploy-build-steps.
Fixed PI32899 - Jenkins plugin fails on slave nodes with an UnserializbleException
Fixed PI36005 - Jenkins plugin 1.2.1 not compatible with builds created with earlier versions of the plugin
Fixed PI37957 - Pulled in a fix for excludes options not being handled by a common library.