Webinar Q&A: Continuous Delivery with Jenkins Enterprise and UrbanCode Deploy

Thank you to everyone who joined us for the webinar with IBM UrbanCode.

Following are answers to the questions we received during the webinar:

Where can I see more examples and materials about jenkins and udeploy?
Instructions for configuring the publishing plugin are here: https://developer.ibm.com/urbancode/docs/integrating-jenkins-ibm-urbancode-deploy/

Can you illustrate some of large installations please?
Large installations of UrbanCode Deploy today manage deployments of hundreds of applications across thousands of servers.

Is the Jenkins and Puppet integration happening by Puppet plugin?
For jenkins/puppet/docker stuff I talked about, see https://github.com/jenkins-infra and https://github.com/jenkins-infra/jenkins-infra in particular. For workflow, see https://github.com/jenkinsci/workflow-plugin.

Is workflow plugin available in OSS version?
Yes, most of workflow is in OSS.

Do you have a trial download or POC sessions to test this tool?
For UrbanCode Deploy, you can register for an evaluation here: https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=RATLe-UCDeploy-EVAL&S_CMP=web_dw_rt_swd. We do recommend a formal PoC with assistance from our team. Please email ucinfo@us.ibm.com with any questions.

We have IBM Rational. What is the difference between IBM Rational & IBM UrbanCode deploy?
Rational is a brand with a lot of products so its hard to draw a clear distinction. IBM UrbanCode Deploy was part of that brand until recently, and does integrate with many of the Rational products including Team Concert, BuildForge, and ClearCase.

What do you recommend the “workflow” would look like between Jenkins & uDeploy?
Jenkins should clearly be doing all the builds. UrbanCode Deploy should take care of the mechanics of doing the deployments. Jenkins should drive UCD more than UrbanCode Deploy drives Jenkins.
It should also be where requests to deploy a collection of builds that have been tested together are promoted to production together. That leaves a question of where should the decision to promote a version that is independently tested be made. Either tool should be able to handle that request. The right place to do it likely depends on the teams’ culture and who is likely making that decision. That closer to development that decision is made, the more likely it happens in Jenkins.

Any plan on having “Thumbs up” support (Approval) at snapshot level?
Yes. Snapshots support “Quality Statuses” which is how UC Deploy tracks thumbs up.

We are a Microsoft house (and have no IBM presence). Do you support your products on Windows?
Yes. IBM UrbanCode Deploy is supported on Windows, and we integrate with a range of Microsoft Technologies from TFS to IIS to SharePoint.

Does Urbancode deploy take any DB backup, before upgrading the DB?
If you configure it to.

Can we publish code to several UCD components in the end of the build? Like fileA goes to componentA, fileB goes to componentB?
Yes. However, the current Jenkins plugin doesn’t support this. We’ve had a number of customers install the UCD command line tools

What are the key differentiators of UrbanCode Deploy and Chef or Puppet?
You have a directed, application centric, deployment automation tool versus convergent, node centric, configuration management tools. Explained in depth in our white-paper on why you would use us in addition to Chef (applies almost equally to Puppet/Chef/Ansible).  https://developer.ibm.com/urbancode/docs/5-reasons-use-ibm-urbancode-deploy-already-using-chef/

What about having to rollback a deploy? Is it up to a developer to manage the “unwinding” of any changes that happened? (think database migration and data migration)
For fully deployed things (like a Java war/ear or a .Net website) this is basically as easy as looking up the previously deployed versions and redeploying them. That’s handled out of the box. For incrementally deployed things, the rollback tends to need to run specialized reversing automation for each undesired version that was applied in the reverse order. UrbanCode Deploy handles the tracking of versions and the running of rollback in the right order out of the box, but does need to be told how to reverse your changes. We are not going to read you SQL scripts and guess at how to reverse them.

Does urban deploy help to define the workflow for enabling the downtime communication and also help the release engineer to get the required sign offs before and after deployments?
Yes, sign-offs or approvals are fully supported. Notifications of deployments starting are also supported. UrbanCode Release goes further in handling scenarios where an enterprise release might have comms going out a few hours before the event really starts (or making sure someone knows to leave the heat / air conditioning turned on that night), and needs to track the progress of numerous application deployments happening as part of the same night.

If Nexus is used for staged builds, how could uDeploy be configured to pull from both staged and released builds without defining separate components that pull from Nexus?
The pattern of promoting builds through multiple artifact repositories is generally redundant with UrbanCode Deploy. If you want a single version number to pull from one Nexus repo in lower environments and a different one in upper environments, you would parameterize the repo location in the download step using an Environment property. That sounds like it would introduce risk of not matching versions against repositories correctly, making traceability harder, and require fancier configuration for little benefit though.

Is UrbanCode Deploy compatible with Team City? 
Yes. UrbanCode Deploy supports the most popular continuous integration tools, as Jenkins is integrated with by most release automation tools.

Is there a supported pathway to move from IBM UrbanCode Deploy 6.1.1 to Deploy with Patterns?

Will uDeploy support SQL Server updates and is there any plugin for running queries from Jenkins?
UrbanCode Deploy does support deploying to SQL Server through a direct integration, a JDBC based integration, and 3rd party DB updating tools including LiquidBase, Datical DB and dbMaestro. For a full list of database centric integrations, look here: https://developer.ibm.com/urbancode/plugins/ibm-urbancode-deploy/#filter=Database

What is the integration scenario with other Urbancode modules?
UrbanCode Deploy (and therefore Deploy with Patterns) is the only UrbanCode module with a direct link to Jenkins.




—Eric Minick

 Eric is the Release Automation Market Manager at IBM.

—Kohsuke Kawaguchi
 Kohsuke is the CTO at CloudBees.


Add new comment