Tag Archive for 'jenkins'

Subversion Tip of the Week

Polling Subversion with Jenkins

There are many advantages Jenkins can offer Apache Subversion users, one of which is the option of automatically polling Subversion repositories for changes, and creating a new build whenever changes are detected. In this week’s tip, we’ll show you how to configure Jenkins to automatically poll an uberSVN repository.

(Note, this tutorial requires Jenkins to be installed in uberSVN. See Getting Started with Jenkins in uberSVN for a step-by-step guide to getting Jenkins up and running.)

1. Open the ‘Jenkins’ tab and select the ‘New Job’ option from the left-hand menu.

2. Enter a Name for your job and indicate whether you are wanting to Copy Existing Job. Click ‘Ok.’

3. You will be taken to the ‘Configure’ screen. Enter a description for your job and select ‘Subversion’ as the source code management option. You will then be asked to enter the URL of the repository you wish to link the job to.

4. Under ‘Build Triggers’ select ‘Poll SCM.’ In the ‘Schedule’ text box, enter how often you want Jenkins to poll the repository. You can specify the frequency that Jenkins will poll Subversion, using the following format:

MINUTE: Minutes within the hour (0-59)
HOUR: The hour of the day (0-23)
DOM: The day of the month (1-31)
MONTH: The month (1-12)
DOW: The day of the week (0-7) where 0 and 7 are Sunday.

@annually, @yearly, @monthly, @weekly, @daily, @midnight, and @hourly are also supported.

5. Click ‘Save’ and Jenkins will begin automatically polling your Subversion repository at the specified intervals.

Not yet started with uberSVN? It’s free to download and free to use. Visit http://www.ubersvn.com/ now to get started.

WANdisco To Attend San Francisco Jenkins User Conference

September and October are shaping up to be a busy few months for the open source community – not only are we gearing up for three Subversion Live conferences, but there’s just a few weeks to go until the Jenkins User Conference (JUC) in San Francisco.

After attending the JUC in New York, WANdisco are excited to be meeting the Jenkins community again in San Francisco. Be sure to look out for the WANdisco table, if you’re attending the San Francisco JUC. And if you haven’t got your ticket yet, you can use the  “JUC-2012SF” code when registering to claim a $100 discount!

Speaking of discount codes, listen to our recent podcast with Greg Stein, Vice President of Subversion at the ASF, for a special 30% discount code for Subversion Live. If you haven’t already heard, Subversion Live is a global series of conferences for the SVN community. This year’s conference series is bigger and better than ever, with events taking place in San Francisco (October 10th & 11th) Greenwich Connecticut (October 16th & 17th) and London (October 23rd & 24th).

Confirmed sessions include:

  • What’s coming in 1.8
  • Best Practices for Large SVN Deployments
  • Merge & Performance Improvements
  • Apache Bloodhound
  • Hook Scripts
  • ….and more!

Visit http://www.wandisco.com/svn-live-2012 for more info!

Creating Your First Job in Jenkins with uberSVN

As uberSVN fans will already know, Jenkins has been available as a free, easy-to-install download through uberSVN since April 2011, and we have since extended our partnership with CloudBees to offer professional support for Jenkins.

uberSVN makes the popular Jenkins continuous integration server easy-to-install and easy-to-download, bringing benefits such as the automatic creation of software builds to Apache Subversion users. Getting started with Jenkins in uberSVN couldn’t be easier. Once you have Jenkins installed in uberSVN, your first task is to create a Jenkins job, and in this short tutorial, we’ll cover exactly this.

1) From uberSVN’s ‘repositories’ tab, select the repository you wish Jenkins to be associated with. In this example, we will use the ‘New Project’ repository.

2) Select the secondary ‘Jenkins’ tab. In the subsequent ‘Job Creation’ screen, enter a name for your job and a description, and click ‘Create.’

3) You will then be prompted to configure your job, by selecting available options for how you want your job to be set up (email notifications, publish JUnit test result reports, source code management, etc.) When you are happy with the configuration, click ‘Save.’

4) When you view your repository in uberSVN you will notice that a new ‘Jenkins’ tab has been added, which contains the job you have just created.

5) To start the job, click on the ‘New Jenkins Job’ link. On the subsequent page, select ‘Build Now’ to start Jenkins.

You have now successfully created your first Jenkins job in uberSVN.

Need more Subversion know-how? After getting a great response from the Apache Subversion community in 2011, Subversion Live is back for 2012, bringing the Subversion community sessions covering everything from Subversion’s future, to expert-led best practices workshops, as well as the unique opportunity to meet the core Subversion committers..

Subversion Tip of the Week

Quickstart: Getting Started with Jenkins and Subversion

The Jenkins open source continuous integration server can be a valuable tool for Apache Subversion users. It can be configured to watch for code changes in repositories, to automatically perform builds, to notify users, and perform other useful tasks on both remote and local machines. The easiest way to integrate Jenkins with Subversion, is through uberSVN and its integrated uberAPPS store. In this easy, five step guide, we’ll walk you through installing Jenkins in uberSVN.

1) Select the ‘uberAPPS’ tab from within ‘uberSVN’ to be taken to the store front, where you can select Jenkins.
2) From the Jenkins product screen, click ‘Download Now’ to download Jenkins.

3) Once the download is complete, click ‘Activate.’
4) You will notice a new Jenkins tab appear. Select this tab to go to uberSVN’s integrated Jenkins screen.

5) From here, you can optionally decide whether to make Jenkins visible to all users, or define exactly who can access the tool.

Get started with uberSVN now – download it for free from http://www.ubersvn.com/

Need more Subversion know-how? After getting a great response from the Apache Subversion community in 2011, Subversion Live is back for 2012, bringing the Subversion community sessions covering everything from Subversion’s future, to expert-led best practices workshops, as well as the unique opportunity to meet the core Subversion committers.

Configuring Jenkins: Security

The Jenkins continuous integration system doesn’t perform any security checks by default. While this may not be a problem in certain situations, if your installation is going to be exposed to the internet (or any other untrusted environment) it’s a good idea to implement some security checks. In this example, we’ll walk you through a common setup: allowing Jenkins to maintain its own user database, and then show you how to grant a specified user with full administrative privileges.

Note, this tutorial uses Jenkins and uberSVN. uberSVN is free to download and free to use, simply visit http://www.wandisco.com/ubersvn to get started.

1) Open the ‘Jenkins’ tab in your uberSVN installation and select the ‘Manage Jenkins’ option.

2) Select the ‘Configure Systems’ option.

3) Select the ‘Enable security’ option. This will bring up some additional options.

4) Select ‘Jenkins’s own user database’ under the ‘Security Realm’ heading, and ensure the ‘Allow users to sign up’ checkbox is ticked.

5) Under ‘Authorization,’ select ‘Matrix-based security.’ This will bring up a new table.

6) In the table select ‘Overall – Read’ for anonymous users.

7) Type your username into the ‘User/group to add” box and click ‘add.’ Your username will now appear in the table.

8) Make sure every permission for your username is ticked, to give yourself full access.

9) Select the ‘Save’ button at the bottom of the page. You have now configured Jenkins’ security settings!

Need more Subversion know-how? After getting a great response from the Apache Subversion community in 2011, Subversion Live is back for 2012, bringing the Subversion community sessions covering everything from Subversion’s future, to expert-led best practices workshops, as well as the unique opportunity to meet the core Subversion committers.

Jenkins: Configuring a Proxy

In most setups, the Jenkins server is behind a firewall, which can be a problem as Jenkins requires internet access to download plugins and updates. If you need to go through an HTTP proxy server, the connection details can easily be configured in Jenkins’ ‘Manage Plugins’ tab.

Note, this tutorial uses uberSVN. If you don’t already have uberSVN, you can download it for free from http://ubersvn.com/

1) Open the ‘Jenkins’ tab of your uberSVN installation.

2) Select the ‘Manage Jenkins’ link.

3) Click the ‘Manage Plugins’ link.

4) In the ‘Plugin Manager’ open the ‘Advanced’ tab. This will bring up your HTTP Proxy information. Enter the appropriate info – such as port, server, etc. – and click ‘Submit.’

Jenkins will now have internet access, and will be able to download updates and plugins.

Updating Jenkins

To download Jenkins plugins, simply click the ‘Available’ tab of the ‘Plugin Manager’ to see a list of available plugins.

Updates for your installed plugins can be found in the adjoining ‘Updates’ tab.

Once you’ve configured internet access, you’ll have access to updates for Jenkins itself. To check for Jenkins updates:

1) Open the ‘Administration’ tab, followed by the ‘Updates’ tab.

2) Click the ‘Check for Updates’ tab to ensure you have all the latest updates.

3) You will then be able to see – and install – all the latest Jenkins updates.

Not yet started with uberSVN? It’s free to download, free to use and integrates seamlessly with Jenkins. Simply visit http://www.ubersvn.com/ to find out more.

Need more Subversion know-how? After getting a great response from the Apache Subversion community in 2011, Subversion Live is back for 2012, bringing the Subversion community sessions covering everything from Subversion’s future, to expert-led best practices workshops, as well as the unique opportunity to meet the core Subversion committers.

Bringing Order to Your Jenkins Jobs

Once you’ve been working with Jenkins and uberSVN for a while, you may find yourself in a situation where you have several jobs that need to run in a specific order, for example:

  • Job 1 and Job 3 can run simultaneously.
  • BUT Job 2 should only start when Job 1 and Job 3 have finished running.
  • AND Job 4 should only start when Job 2 has finished.

How can you implement this complicated setup? This is where Jenkins’ ‘Advanced Project Options’ and build triggers come in handy. In this tutorial, we’ll walk through the different options for scheduling jobs using Jenkins and uberSVN, the free ALM platform for Apache Subversion.

Note, this tutorial assumes you have already created a job and configured it to automatically poll your Subversion repository.

1) Open the Jenkins tab of your uberSVN installation and select a job.

2) Click the ‘Configure’ option from the left-hand menu.

3) In the ‘Advanced Project Options’ tab, select the ‘Advanced…’ button

4) This contains two options that are useful for ordering your jobs:

  • Block build when upstream project is building – blocks builds when a dependency is in the queue, or building. Note, these dependencies include both direct and transitive dependencies.
  • Block build when downstream project is building – blocks builds when a child of the project is in the queue, or building. This applies to both direct and transitive children.

If this option doesn’t meet your needs, you can explicitly name a project (or projects) that must be built before your job is allowed to run. To set this:

1) Scroll down to the ‘Build triggers’ tab on the configure page.

2) Select the ‘Build after other projects are built’ checkbox. This will bring up a text box where you can list any number of projects.

Utilized properly, the build triggers and advanced project options should allow you to organize your jobs into a schedule. Tip, if you need even more control over your build schedule, there are plenty of scheduling plugins available. To add plugins to Jenkins, simply:

1) Open the ‘Manage Jenkins’ screen.

2) Click the ‘Manage Plugins’ link.

3) Open the ‘Available’ tab and select the appropriate plugins from the list.

Not yet using uberSVN? It’s free to download, free to use, and is seamlessly integrated with Jenkins. Simply visit http://www.ubersvn.com/ to get started. A professional support option for Jenkins is also available.

Polling Subversion with Jenkins: The Quiet Period

Ever hit ‘Enter’ on your ‘SVN Commit’ command only to realise you’ve forgotten to include some files? In Apache Subversion, it’s not unusual for one commit to be quickly followed by another, as users realise their mistake. If you’ve configured Jenkins to poll Subversion for changes, this can result in broken builds and premature email notifications about build failures. Thankfully, if you’re a Jenkins user, there’s a ‘quiet period’ feature that can be activated to provide some breathing space between performing a commit, and Jenkins generating a build. If you’re using uberSVN, this is simply a matter of checking the right tickbox.

Note, uberSVN is free to download and free to use. If you’re not already using uberSVN, you can get it for free from http://www.ubersvn.com/

To introduce a ‘quiet period’ to your Jenkins workcycle, you must first create a job and configure it to automatically poll your Subversion repository. Once your job is up and running:

1) Open the Jenkins tab of your uberSVN installation and select the job you want to add the ‘quiet period’ to.

2) Click the ‘Configure’ option from the left-hand menu.

3) In the ‘Advanced Project Options’ tab, select the ‘Advanced…’ button.

4) Select the ‘Quiet period’ box and enter the number of seconds Jenkins should wait before generating a build.

Your Jenkins job will now schedule a build, but then wait 20 seconds before actually beginning to build.

Want to learn more about Jenkins jobs and polling? We have plenty of free tutorials you may be interested in:

Getting Started with Jenkins in uberSVN
Polling Subversion with Jenkins
Advanced Subversion Polling with Jenkins: File Fingerprints
Polling Subversion with Jenkins: More Options

If you need extra help with Jenkins, we also offer a professional support option that includes 24-by-7 online, phone and email support, guaranteed response times and automated delivery of fixes and upgrades.

Top 10 Features of uberSVN

uberSVN is a platform based on the world’s most popular version control system, Apache Subversion. uberSVN users have the freedom to pick and choose their favourite open and closed source components, ultimately building their own customized, complete ALM platform for Subversion. uberSVN has won a string of industry awards, and has received some fantastic feedback from its users base. Still not convinced? In this post, we’ll run through our top ten features of uberSVN!

1. Easy to Install

uberSVN assumes no prior knowledge of Subversion, making it the ultimate beginner-friendly Subversion GUI. To install uberSVN, you simply need to set the installation directory, the repository storage location, and enter your uberSVN registration key (don’t worry, this is free!)

2. Easy to Administer

With its focus on ease of use, the main uberSVN dashboard offers an at-a-glance insight into your repositories, and is divided into four main areas:

  • Tabs – These allow you to get further information on the different repositories, users and teams, as well as providing easy access to the integrated uberAPPS store, where you can download Jenkins, purchase professional support, order uTest services and more!
  • Activity Stream – This displays all the latest actions performed across your repositories, including commits, administrative changes, and social activities, such as status updates from other team members.
  • List of repositories – This section displays all the repositories that have been added to your uberSVN installation. ‘Favourite’ repositories are also displayed in a separate tab, for easy access.
  • Quick Links – This section links to certain areas by default (uberSVN.com, WANdisco.com etc.) Use the ‘Edit these Quicklinks’ option to tailor these links to suit your own project’s needs.

3. In-the-wild testing, without even leaving your installation!

uTest is the world’s largest software testing marketplace, and its comprehensive range of testing types for web, desktop and mobile applications can be purchased from inside your existing uberSVN installation. Simply visit the uberAPPS tab in uberSVN, select uTest Express from the app store, and follow the on-screen instructions to recruit real-life testers for your app. Crowdsourced software testing couldn’t be easier!

To see how easy it is to add uTest’s software testing services to uberSVN, visit our ‘Adding uTest to uberSVN’ post.

4. Continuous Integration Made Easy

But it doesn’t end there! uberSVN users can also download the popular Jenkins continuous integration server from inside the uberAPPS store. When downloaded through uberAPPS, Jenkins integrates seamlessly with your uberSVN repositories, giving users easy access to Jenkins functionality, including automatically performing builds, initiating tests, notifying users, rolling changes back and forth, and the ability to schedule, monitor and manage external, time-based cron jobs. All this functionality can be downloaded and implemented without ever leaving uberSVN. If you need some additional help with your Jenkins installation, existing uberSVN support customers can purchase professional Jenkins support as a bolt-on.

5. Pre-Integrated with Latest Subversion Binaries

We know that keeping up with the latest open source releases isn’t always easy, but uberSVN not only alerts you when a new release is available, it makes updating Subversion and related components as simple as a few mouse clicks. Simply click on the ‘Administration’ tab, and select the ‘SVN Switch’ option to bring up a screen where you can select the latest Subversion binaries, automatically updating all of your uberSVN repositories in the process.

6. Code-Free Subversion

“The software itself is amazing, the GUI is so user friendly that anybody could do it.” – Customer feedback.

Subversion can place practically any project under version control (text documents, graphics, sound files) not just source code! But, we know that getting to grips with Subversion from the command line can be tricky for non-coders. With that in mind, we designed uberSVN to be Subversion made easy. In fact, we’re convinced that when used with a great Subversion client like TortoiseSVN, you can use Subversion without even writing a single line of code (check out our Non-Coders Guide to Subversion if you don’t believe us!)

7. It’s Built on Subversion

It may not be the only version control product on the market, but at WANdisco, we believe Subversion is the best of the bunch. Accepted into the Apache Incubator in 2009, Subversion is an established open source solution with a vibrant and helpful ecosystem of users who can be contacted for advice via mailing lists and forums, alongside the option of professional support. And, with the recent release of Apache Subversion 1.7, there’s never been a better time to start using Subversion.

8. Build the ALM Solution you Want

Why choose between a closed source ALM solution, and hand-crafting your own SVN-based platform entirely from scratch? uberSVN gives you all the freedom of a homegrown solution, but with the seamless integration you’d expect from closed source ALM – not to mention the option of professional support, should you ever need it. uberSVN users have the freedom to select apps from the uberAPPS store, taking advantage of our seamless integration and easy upgrades, or they can use their own open and closed source components – the choice is entirely down to the user.

9. Subversion Made Social

In modern IT organizations, it’s common practice for development teams to be working on multiple projects, across multiple repositories; and keeping track of who is doing what, can become a challenge. With this in mind, uberSVN combines social networking functionality and software development, with integrated Twitter and Facebook-like capabilities. Each team has its own home page, complete with profiles of each team member and the different repositories they’re working on, and social activities can be seen at-a-glance, from the main dashboard.

10) …..and it’s free!

A free download of uberSVN is available now, for the Windows, Linux and OSX platforms.

WANdisco’s May Roundup

This month, we’ve been busy creating new products for our award winning uberSVN platform and its growing community of users, and we’re proud to have just launched uberSVN Access Control. uberSVN Access Control combines uberSVN’s social coding capabilities, easy-to-use interface and uberAPPS store, with the enterprise functionality of our Subversion Access Control product. Before uberSVN Access Control, we were receiving requests from enterprise users who were interested in deploying uberSVN, but who needed some additional functionality first, so we’re particularly excited about this launch! The feedback so far has been overwhelmingly positive, but if you have anymore feedback, questions or comments about uberSVN Access Control, please do not hesitate to contact us.

In addition to releasing uberSVN Access Control, we improved the privacy policy for uberSVN. Our new policy makes installation information anonymous whilst still allowing WANdisco to validate key non-personal information against registered produces and services. (This policy came into effect as of May 24th, 2012.)

We’ve also been busy bringing the SVN community the latest, certified open source Apache Subversion binaries, after the release of Subversion 1.7.5. Subversion 1.7.5 features a string of enhancements, including a performance improvement for scanning the working copy root, and a memory and file-handle management improvement, alongside a list of bug fixes.

We made another big announcement this month: Subversion Live is back for 2012! After getting a great response from the Apache Subversion community in 2011, the conference is back for another year. Subversion Live 2012 will take place in San Francisco (October 10th & 11th) Greenwich, Connecticut (October 16th & 17th) and London (October 23rd & 24th.) The conference will feature a unique mix of sessions, expert-led best practices workshops and invaluable networking opportunities.

Confirmed sessions include:

  • What’s coming in 1.8
  • Best Practices for Large SVN Deployments
  • Subversion Server Tuning Demo
  • New Developments in SVN Clients
  • Merge & Performance Improvements
  • Branching & Merging Best Practices
  • Hook Scripts
  • Apache Bloodhound

Visit http://www.wandisco.com/svn-live-2012 to learn more.

Members of the WANdisco team were also lucky enough to attend the Jenkins User Conference in New York this month.

The Jenkins User Conference brings Jenkins experts and community enthusiasts from around the world together for a full day of learning and networking opportunities, focused on the popular open source continuous integration server.

The WANdisco team had a great time attending the different sessions, which covered all the latest and greatest Jenkins technology, best practices, and hands-on workshops and demos.

We’re all big fans of Jenkins at WANdisco, and are looking forward to putting what we learned into practice – thank you to CloudBees and of course, the Jenkins community, for putting on such a great event!

As a proud CloudBees partner, not only did we attend JUC NY, but we’re sponsoring two of the conferences. “We are thrilled to have WANdisco join CloudBees and the other sponsors in supporting the Jenkins community,” said Kohsuke Kawaguchi, creator of Jenkins.

Missed out on all the fun? Team WANdisco will also be attending the San Francisco JUC in September. We’re looking forward to meeting more of the Jenkins community (and maybe even some of the Jenkins+uberSVN community then!

Finally, we were proud to win the Technology Provider award at the Yorkshire International Trade Awards, 2012 this month. The Yorkshire International Trade Awards celebrate the success of companies involved with overseas trade, and international businesses who invest in the Yorkshire and Humberside area.

Speaking about their decision to name WANdisco as Technology Provider, the judges said: “It is clearly playing in some big global markets. This is really advanced technology – you can see it is on an upward path – and it is selling that technology to some really big companies.”

We had a great time at the awards ceremony at the Royal Armouries, and want to thank the whole Yorkshire International Trade Awards team for putting on such a great event!