In the last blog Kenji took a good look at some of the current and upcoming reporting systems inside PureCM. Today I'm going to take a closer look at Releases.
What is a Release?
A release is a snapshot of the code at a specific point in time. This gives you a permanent copy of your code at a specific point, which typically will remain read only. You can directly browse the content of a release and use it for internal/external/beta/etc builds or to send to your testers. Having a release gives you an easy way to tag points in your development and keep track of who is running which version of the code.
Make a release from a feature!
You don't just get to make releases of your versions. If you want to send a feature for testing before it gets integrated into the version you can also make a release of the feature.
How do I know what is in a release?
The quickest way to find a release is to navigate to the relative version/feature in the projects view and select 'Show submitted tasks and releases'. This provides you with a list of all of the changes that have gone into the version and shows at which point your releases have been created.
This gives you a very quick way to see what changes made or missed each release and also provides the interface to do more with your releases. Viewing the files contained within the release for example can be done by selecting the release and selecting the 'Show Files' option.
Seeing what files has changed between releases in very simple as well. Simply select two releases from the list and select 'Compare' from the menu. This will launch the familiar stream comparer tool which will show the files from both releases. If you are only interested in what has changed you can filter out the matching files in the options menu.
Getting the release on your local machine
The best way to get the release files to where you need them is to create a workspace. If you have an old workspace you can switch you can find your release in the 'Projects' tab listed under the correct version. Alternatively, you can simply select the correct release in the projects view as talked about above and choose 'Select Workspace'. Of course, creating a workspace to deploy a release can be scripted, e.g. using one of our build tool integrations, the command line interface or the .NET and Java APIs.
- Releases are snapshots of your code at a specific point in time
- Releases can be made from both Versions and Features
- You can view your releases by selecting 'Show Submitted Tasks and Releases' in the Projects view.
- You can get the files by simply creating a workspace.
In the next blog Lee will take a look at the process of fixing a bug in a current live release without including changes from ongoing development; the basic case of parallel development.
Why using the deployment service?
There is more than one way to get the project files stored in PureCM to a target machine:
Use the PureCM GUI and create a workspace in your target location
Use the command line client to create a workspace in your target location
Both options will create a local copy of the project files on your target machine; so that looks like a perfect way to achieve your goal. In fact, most build tools pull the latest project version that way.
However, both solutions involve installing at least one of the above clients on your target machine, and somehow triggering “update to latest”. ‘Mhmmm, I might not like that for my production environment,’ you say. ‘But I can see that this might be useful for my web developers.’
So this is where the FTP deployment service comes in. Instead of pulling the files to your target location, the deployment service pushes them there. Because it can listen to changes submitted against a stream, it’s capable of deploying them automatically. Stephen has already wrote a nice article on how you could use this service for web development.
How does it work?
The example below shows a possible setup using the FTP deployment server:
A developer submits a change to project 1, which is under source control in PureCM
The development manager merges the change to the deployment stream, which is the base stream for the FTP deployment service. Note that the deployment service can run on the same or a different machine as the PureCM server.
The FTP deployment service listens for changes and gets the change into his workspace.
Only changed files and folders are sent via FTP/SFTP to the target location.
Of course, this is only an example, but I’m sure you get the idea.
Getting the beta download
So now you know about the FTP Deployment Service, why not download the beta and tell us what you think? Is there a feature you miss, or a bug you found? Simply comment this blog or email us your comment to email@example.com.
Learn more >>
Download the FTP 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.
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.