2
votes

We are using TFS and the TFS Build Service. We are considering to migrate the Build service to Jenkins but we came across some issues. According to this site, there are some things that do not work very well with the TFS and Jenkins plugins. All of them we use a lot:

  • Associated Change sets – Team Build automatically associates a list of change sets that are included in the build
  • Associated Work Items – Team Build analysis the relationships and also associates Work Items with a build. Indeed it walks the work item tree (parent) and maintains that association in the chain.

Is this still true? We have this scenario:

  • A developer checks in a code that fix a bug or resolve a User Story. It does that by associating his check in with the work item ID.
  • His check in triggers a build that will associate the work item with his changeset. For bugs, the build will update the "Integrated in Build" field with the build number. We use this field to know in witch version the bug was fixed.

Is there any way to make Jenkins behave and do what TFS build service does?

2
I think you'll struggle, the Jenkins build integration is never going to be as tight as the TFS build system. What is driving the migration to Jenkins? If an upgrade to TFS 2015 is an option then the build is much more flexible and extensible which might give you another way to go.rerwinX
We would migrate to Jenkins to take advantage of many third party plugins (opensource or not) that Jenkins has and TFS has not. The company I work for has been using Jenkiks for a long time, but other business unit use Jira and not TFS and they have a lot of well defined plugins and process that I would like to reuse.Rafael Colucci
TFS 2015 may be an option, but I have to better understand what it can do that it does not do yet.Rafael Colucci
We are looking to do something similar. What was your final decision?Chris
We gave up on thisRafael Colucci

2 Answers

2
votes

Another option is to mix the two using dummy builds on the TFS side that set the records straight and kick-off the Jenkins' builds. Some hints How to trigger Jenkins builds remotely and to pass parameters and “Fake” a TFS Build.

This approach requires a bit of effort but has many advantages:

  • No big-bang, use Jenkins opportunistically
  • Can continue using existing builds
  • Having a build identifier in TFS allows you an overall monitoring and to use the Test features
0
votes

I have a VSTS build definition for one of our projects that requires jenkins to build, but we still have all our other products using VSTS natively. To maintain consistency, this build definition triggers a jenkins build. We configured the build definition to not sync code as jenkins will download it (save time) and not to publish the artifacts back to the agent (i have another script for that found here). This allows developers to continue to use git as normal, and the build/release process is consistent with our other products. Along with task tracking and such.