2

We're reworking our process with subversion at the moment, and one of the things we're doing is making branches for each release target in our demo environment so that you can test a release that has been delayed independent of code that will be released separately. I am also experimenting with Jenkins in order to automatically run and report out on our unit tests in our demo environment. Is there some way in subversion to say "This branch is the release we're testing at the moment" such that Jenkins will check out that branch to test it? If not, how should I be approaching this issue?

  • How about committing a symlink to the latest branch under a consistent name? – cpugeniusmv Nov 29 '14 at 4:46
1

This is a CI issue, not a SCM one. In Jenkins I assume you have a set of jobs that are looking at a particular SVN URL (eg trunk). You can edit these to point to a different url such as the current tag, or you can create a new set that mirror the trunk jobs but have a different repo url. Jenkins lets you group these in views to keep the display neat. You will also want to change the working copy of these jobs so it can checkout both sets simultaneously.

I use the 'job copy' feature in Jenkins to create a set of jobs from templates. You can set a variable in the template that is expanded at copy time to replace the svn URL and other parameters to keep the jobs separate.

  • Yeah, but we use a frequent branch strategy, meaning I have to go clone the job every week or so. I was looking for a hands-off approach. – Yamikuronue Mar 26 '15 at 15:28
  • You can script modification of the SVN urls, create new jo9bs based on a set of templates, or look into plugins like FeatureBranchNotifier but I think that only works with Mercurial currently. – gbjbaanb Mar 26 '15 at 15:50
  • @Yamikuronue There are plugins and tools (such as pythonhosted.org/jenkins-autojobs and entagen.github.io/jenkins-build-per-branch ) which can help automate some of that process. – user40980 Mar 26 '15 at 15:52
0

There doesn't seem to be. But Bamboo, which we're upgrading to from Jenkins, will automatically build and deploy a branch (any branch it finds) when it has activity. Set it up to do a clean deploy and you automatically have the tests run on the one that has activity, which by definition is the one we're testing currently.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.