Name of the blog

Short description of the blog

Jenkins and Hudson Plugins coming soon in 2013/2

With the 2013/2 release now less than a month away we wanted to outline some of the major new features.

One of the biggest features of the 2013/2 release is the plugin for Jenkins and Hudson. In case you did not know Jenkins/Hudson is an open source Continuous Integration tool similar to CruiseControl. Hudson was the original application but this was forked in 2010 by unhappy open source developers to create Jenkins.

 

PureCM already has plugins for CruiseControl.NET and FinalBuilder - so why do we want another CI plugin?

 

Firstly Jenkins/Hudson has possibly become the most widely used continuous integration tool. This is down to it's active open source community, ease of installation, ease of use and number of plugins. So if you are looking to choose a new CI tool - CruiseControl, Jenkins and FinalBuilder are 3 of the best available.

Secondly we already have customers who are using Jenkins and Hudson. So if you are already using Jenkins/Hudson then it will be simple to install the PureCM plugin and get going with the PureCM streams.

The final benefit is that Jenkins/Hudson is cross-platform and is more commonly run on a linux server. This is not the case for FinalBuilder or CruiseControl.NET.

 

What does the plugin do?

 

Similar to the CruiseControl plugin the plugin allows Jenkins/Hudson to check if any submits have been performed against a stream and update the workspace to get the latest code. Jenkins/Hudson goes a bit further than CruiseControl in that it lets you browse the workspace files. It also gives you more details about the change - like what files have been added, edited and deleted.

 

When will the plugins be available?

 

Unfortunately the plugin required some changes to the pcm command line so they will not be available until the release of 2013/2 in October 2013. If you want to get a beta version of 2013/2 along with the plugin please email support@purecm.com and we will send you the details.

Gemini issue integration available now

We have just released the latest plugin for PureCM, which links changesets to issues in the Gemini issue tracking tool. Why Gemini? We've had various customers asking how they could best use PureCM with a web front end for their helpdesk team. As we've been focusing on developing a tight release planning/configuration management integration with the upcoming 2010-1 release, reaching to teams outside core development is currently better supported with 3rd party solutions such as Gemini. This tool is particularly well suited to integrate with PureCM given its simple yet flexible user interface. 

How does it work?

The main imperative when developing the Gemini bridge has been to keep it simple. Linking PureCM changesets to Gemini issues can be done simply by adding a 'GEM' reference number to the changeset description - that's it. There are some screenshots in our knowledge base that show you how this will look. What might be more important is actually the way the bridge is published: as open source. Yes, that's right. It's the first time we do so and we hope that you'll embrace this approach.

Why is the plugin open source?

This is a very simple integration, which requires minimal setup and virtually no training for developers. On the upside, this gives you a quick and easy integration with a web frontend to add powerful helpdesk functionality to PureCM. On the downside, the plugin doesn't include sophisticated checks, e.g. to make sure you avoid typos when adding the Gemini issue number. By publishing the solution open source, you can decide whether this fits your bill or whether you'd like to add some tweaks.

Furthermore, keeping the integration so simple also makes it very easy to use it with other issue tracking tools. You can get the plugin and customise it to work with your existing solution, getting a head start with the now available and fully commented Gemini bridge.

>> Download the Gemini bridge here

 

So where do we go from here?

As you might have guessed, this is but a first step. This bridge is great for a no-frills integration with Gemini, especially when you simply want to keep track of what has been submitted against a specific issue. However, with the new release planning functionality in PureCM 2010-1, we'll be able to look at a much tighter integration with Gemini. Think scheduling in Gemini that is reflected in PureCM. Think getting real-time updates on project status regardless of the tool you're currently working in. Having development and non-development teams collaborate along the development lifecycle based on the same up to date information, but using the frontend (or tool) that is most natural to them.

Make sure to revisit this blog - we'll keep you up to date on progress!

 

The PureCM GUI Views: Part 2

Well, this time the title might be slightly misleading. It should rather say something like ‘The PureCM GUI Views: Part 2 – kind of...’, as I’ll not talk about the PureCM GUI client itself, but about the GUI most developers face on a daily, well most probably even on a constant, basis: their IDE.

Whether it’s Visual Studio, Eclipse or any other solution, flicking between tools isn’t just a hassle, it might even lead to (manual) workarounds that potentially affect product quality. With today’s multi-screen infrastructure and powerful integrations, arranging the information you need has become much more flexible and comfortable. We were obviously delighted to see Microsoft adding a proper API to Visual Studio 2005+, allowing us to provide an enhanced plugin, e.g. to suppor custom panes that any developer can arrange the way he wants.

So something that starts off as being better ergonomically might in fact have implications for your productivity and quality of work. Being able to see your current checkouts and group them into one or more changesets clearly helps to structure your work without the need to use ALT+TAB all the time. We’re not alone with this view, as Adrian Bridgwater at ZDNet UK has also picked up on the topic in his app dev blog. And there are also Eclipse enhancements scheduled for PureCM 2010-1.

By the way, the PureCM 2009-2c release that has become available last week includes some enhancements to make the annotated file history work with the Visual Studio enhanced plugin. This might prove a welcome feature, especially when chasing down bugs in your projects. Know who’s last changed a line, when and why.

You can grab the release from our download section; and if you’re not familiar with our these features yet, why not have a look at our enhanced VS plugin online demo?

The Old Friend Visual Studio

Everyday while I sit at my desk I have two computer monitors looking back at me, one shows PureCM and the other shows Visual Studio. Most of my time is spent writing code or fixing bugs and for this there are few better tools that Visual Studio. For understanding the code I'm working on and keeping track of all of the changes going into our tool nothing in my opinion beats the PureCM Client. Both tools are vital for daily work but wouldn't it be nice if it could all be done from one tool?

What about SCC integration?


When we talk to customers we find that most developers do not want to work with a separate  client outside of their development environment. However the current way PureCM integrated with Visual Studio has a lot of shortcomings.

PureCM uses the SCC library provided by Microsoft to allow Visual Studio access to source control. The main advantage of this is that it provides a common interface into many different programs such as XML Spy. The huge disadvantage however is that it was designed strictly by Microsoft to fit with source control providers that operate with outdated concepts. The main problem this causes with PureCM is that Visual Studio works on a single file level and cannot cope easily with the concept of workspaces and changesets. This means that most of the core functions you wish to use in your daily work are not performed as well as we would like as we can never perform exactly what Visual Studio is asking us to do.

A second main problem is how ridged the bindings have to be between your solution and PureCM. The pattern of storing stream information in the solution file means every time you make a new stream you have to rebind this information. As the use of streams grows this becomes less and less practical as often you want to make a quick stream to implement a feature away from the main development stream and are left with the overhead of having to rebind every time.

The third main problem with the SCC is that we cannot implement any more functionality inside it. When I first joined the team at PureCM over four years ago we had a good product that fulfilled all of your main source control requirements. Since then the PureCM client has exploded with new features and evolved to make your work flow much simpler. However the Visual Studio integration has remained pretty much the same.

The Future


So here is some good news. From 2009-2 you will have access to a purpose built plug-in specifically designed for PureCM to integrate seamlessly into Visual Studio. This is very exciting for us as we can finally provide a tool that will make PureCM simpler to use. Our overall aim is to provide your workspace perspective from inside Visual Studio. Not everything will make the 2009-2 release but here are a few of the main features.

No more binding solutions to streams. The new plug-in will now work on a workspace level. It knows if your solution is inside a workspace and uses this workspace to access the server.

Simple interface to add your solution to PureCM. If you have a workspace already just copy your files inside and press the 'Add to PureCM' button. If you don't have a stream yet, the same button will give you a simple two page wizard that will create you a stream on the server, a workspace on your client and add your files in a single operation.

Simple way to get your solutions. Get from PureCM now offers the familiar workspace create wizard, but will let you select which solution you wish to use on the server before you create your private workspace. This will then create a workspace with the solution in the root folder.

PureCM toolbar. Now all of your common operations will be accessible from a toolbar inside Visual Studio.
 

New embedded panel windows. Now you can open up tabs inside visual studio to make it like the PureCM workspace perspective. These include the changesets tab to view and manage the changesets in your workspace. The Explorer tab to allow you to see and manage files from their structure on disk. And also the event log so you can keep track of what is happening.
 

The best way to understand these new features is to try them yourself. That’s why you will soon find a beta of the new PureCM release ready for download, including the VS integration. Have fun playing around with it and let us know what you think!

Note that Microsoft only supports custom 3rd party tool integrations for VS 2005 or newer. Users of older VS versions can obviously still use the SCC integration to integrate PureCM.

PureCM Deployment Service

This seems like a good time to tell you of a new feature going to be released early this year, the PureCM Deployment Service. We are always committed to not just looking after your files but also making your daily work flow easier. The deployment service will be a new stand alone service which you can run to automatically transfer files as changes are made over FTP/SFTP to a server of your choice.

Why use it?

This has been designed to enable you to keep your files up to date on a remote server without having to install PureCM on that machine. One practical example of this is keeping a website up to date on your web server.

The PureCM Deployment Service works by listening for changes in your streams using the PureCM Dot Net Client interface and then copying those changes over to the relevant servers. This takes the hassle of keeping your web server up to date away from you, while drastically speeding up the process by only copying the files that have changed. Any changed or added files are sent to the remote location, while file deletes are removed.

How to use it!

The deployment service comes with its own installer and is configured by a simple XML file, which allows you to set up multiple links between different streams and different FTP locations for full flexibility.

<PureCM>
  <connection>
    <server>localhost</server>
    <port>2010</port>
    <username>LeadDeveloper1</username>
    <password>secret</password>
   </connection>
 <links>
   <link>
     <repository>Example</repository>
     <stream>Development/Main</stream>
     <workspace_path>c:/Deployment/Development/Main</workspace_path>
     <ftp_name>SERVER_NAME</ftp_name>
     <ftp_type>sftp</ftp_type>
     <ftp_path>Development/Main</ftp_path>
     <ftp_port>22</ftp_port>
     <ftp_username>admin</ftp_username>
     <ftp_password>secret</ftp_password>
    </link>
   </links>
  </PureCM>

The PureCM Deployment Service requires a machine set up with the PureCM client installed and enough space to create workspaces for each of the streams you wish to FTP. This does not have to be on the same machine as the PureCM service.