Deployment Pipeline in RTC
Are there any plans to implement deployment pipeline support in RTC?
The Jazz Build Engine has been superb for creating fast builds that get run as part of change set delivery. It has worked really well for increasing quality on change set deliveries. And, it is integrated so nicely into RTC. It would be really useful to take builds further and do downstream builds and deployments based off that successful build (as in the deployment pipeline concept). Build Forge is often suggested if you need to be more advanced than what the Jazz Build Engine provides. Unfortunately, I'm having a difficult time going down this path. As I've investigated it, Build Forge seems to be a robust generic automation framework. Being generic, it doesn't appear to have any kind of software development workflows built into it. This means you have to do a lot of work configuring your Build Forge projects. Other tools such as Bamboo or Go provide automation specific to software development, including deployment pipeline support. As such, it would seem to be easier to get your software development workflow up and running with tools like that. But, those tools like Bamboo and Go don't integrate with RTC. This which makes me wonder about future support for deployment pipelines in RTC. Also, please correct me if my impression of Build Forge is not accurate. |
8 answers
I would say that your impression of Build Forge is correct. It is very configurable, but does not have anything configured out of the box. There are future plans to implement an integration to Hudson, but I don't think there is anything for Bamboo or Go.
~Spencer Are there any plans to implement deployment pipeline support in RTC? |
Hudson/Jenkins integration would be interesting. With the Jenkins Build Pipeline Plugin and RTC integration, perhaps one could implement some sort of build pipeline (i.e. deployment pipeline) support. According to work item 169829 this support is targeted for RTC 4.0.
|
For RTC Build, we've focussed mainly on continuous integration. Continuous deployment / DevOps is also of interest, of course. Currently deployment needs to be done via scripting, though, which is admittedly tedious.
Integrating with Hudson is another possibility. In addition to the planned work for 4.0, you might want to look at: https://github.com/jenkinsci/rtc-plugin (SCM CLI integration) and https://github.com/deluan/rtc-build-plugin (higher level, RTC Build toolkit integration, still early though) We also have an article on integrating with Hudson using our Build toolkit Ant tasks: https://jazz.net/library/article/350 |
We are investigating integrations and extensions to RTC to support continuous delivery. As Nick points out, continuous delivery falls under the banner of DevOps. Continuous delivery requires integrated automation as well as proper management and linking of data via open standards (e.g., OSLC). We are investigating both aspects of continuous delivery or more generally DevOps.
We always welcome early and often feedback to adjust our direction so keep posting questions and comments. Thank you. Dan |
We are investigating integrations and extensions to RTC to support continuous delivery. Great! We always welcome early and often feedback to adjust our direction so keep posting questions and comments. One area of feedback might be on the SCM side. Jazz Source Control has worked extremely well for us. But, it limits us on the tooling side. Most tools (e.g. ThoughtWorks Go) don't integrate with it. A possible enhancement might be to enhance Jazz Source Control to pretend to be Subversion or git. That approach was taken with Microsoft's Team Foundation Server. There is a utility called SvnBridge that makes that appear as a Subversion repository, providing support for a subset of Subversion operations. That way, you can integrate it with almost anything, since most tools support Subversion and git out of the box. |
Interesting idea. What kind of integration points does ThoughtWorks' Go provide? Would it be possible to hook in via command line execution using the SCM CLI, or is it primarily through an HTTP interface to SVN/GIT?
|
What kind of integration points does ThoughtWorks' Go provide? They don't currently provide any integration points for other SCMs. We are told that sometime in the next year they will release a source control integration API. This API should allow us to integrate it with Jazz Source Control. That API isn't available now, so we are going with an approach that dumps change sets into a git repository. This approach works, but isn't optimal as we have to maintain the process that dumps the change sets. We have it working, but it needs to be updated to have robust error handling logic so we don't miss change sets, etc. We also now have to manage the git repositories in addition to our Rational Team Concert server. So, not a great approach, but workable. |
It looks like there is some support for continuous delivery and perhaps deployment pipelines now with RTC (see this forum post). We already are moving forward with a third-party product (ThoughtWorks Go). It works well, but involves some heavy lifting to get some level of RTC integration.
|
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.