rtc+maven+jenkins+urbancode
All,
I am now working with two merging departments. We have RTC/urbancode users, and Maven+Jenkins users... The Maven+Jenkins folks have superiority. How do(can) these products work together? |
3 answers
Hi,
RTC has integrations with both Maven (RTC Maven Integration) and Jenkins (RTC Jenkins Plugin), I believe Urban Code has integration into Jenkins (ucDeploy Jenkins Integration). How to use this integration depends on your use cases. If you are using Git as scm and want to use RTC for Tracking, Planning the Jenkins Team Concert Git plugin will provide the integration between Jenkins and RTC work items and builds.
Thanks,
Kishore
|
Hi,
We are currently using this configuration. We've seen that UrbanCode integration exists but is not working in the way we need so we managed it with a jenkins build post operation.
So we launch build in RTC, they're runned by jenkins that creates versions and store files in UrbanCode. than we've another RTC build that launch UrbanCode deploy.
I hope this would help you.
Michele
Comments
sam detweiler
commented Mar 16 '15, 8:05 a.m.
Little off topic.. can you discuss why the UC triggering on file update/add doesn't work? We also use Nexus for all build output, instead of going straight to the UC repo.
|
RTC+Jenkins+maven+UCD all work together and can all be used to construct a CI/CD pipeline. You configure RTC to use a Hudson/Jenkins Build Engine. The RTC build engine is configured to connect to your Jenkins master. Then you define a Jenkins Maven job. The jenkins implementation will need the Team Concert plugin and the job should reference a Hudson/Jenkins build definition (the next step) back in RTC. Additionally, you will need to install the RTC Build System Toolkit on the target machine(s) (Jenkins Master and Slaves). Next you define a Hudson/Jenkins build definition that identifies the Repo workspace to use and load directory, etc. Then you need to modify your jenkins job to reference the build definition you just created. There are Ant examples out there but no good Maven examples as there are certain parameters that Jenkins needs to pass to RTC and other things you need to do so that the build works from RTC or from Jenkins. At this point you have RTC kicking off Maven builds in Jenkins and vice versa.
If you are using Maven, then I am assuming there is repository manager in your space. I prefer Artifactory because it supports more integration possibilities. Add the Artifactory plugin to Jenkins and maven install into your repository manager. Add the UCD plugin into Jenkins. This will allow you to trigger a post build UCD deploy process. What actually happens is defined in the process. You can have processes that simply install components or install and deploys them in one shot. There are two ways to leverage the repo manager - there is a maven source config plugin and an Artifactory source config plugin. They behave differently in terms of what they import into UCD so you will have to experiment a bit. I built this pipeline around the JPetStore application and a plethora of different online resources. There are also a bunch of videos out there. The problem is none of them address maven. Hope you find this answer helpful. |
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.
Comments
Thanks for the answers to my questions, but I guess my real concern is how/if these four tools can work together.
RTC - Work Items, Planning, SCM, Dashboards
Urbancode - Deploy to environments
RTC + Maven - can be used to assist in building the product
Jenkins - ??
well, they each handle different parts of the developmentĀ workflow
Eclipse/Maven works on the developers desktop
RTC brings workitem mgmt and source library control
then you extract the source onto the build machine, jenkins,
and the build happens (maven plugin for jenkins)
at the end of the build communication back to RTC so that you can do post build deliver or snapshots of the source.
When the build completes, and you have binary artifacts (jars, exes...)
you need to put them on some 'server', enter Urbancode..
you can use the UrbanCode jenkins plugin to publish the artifacts to the UC database and kick off the UC application deploy job, or you can use Jenkins to push the artifacts to a repository like Nexus, and then UC is triggered and runs the application deploy job.
the UC job can also kick off the test driver app to execute the test scenarios.