featured image Source Code Management with SCM-Manager

March 30, 2017 / by Daniel Huchthausen / In EcoSystem

Source Code Management with SCM-Manager

Over the years we talked a lot about SCM-Manager, but we never officially introduced it as one of the Cloudogu EcoSystem tools. Since SCM-Manager had its 6th anniversary not long ago , we want to catch up on that.We mentioned SCM-Manager the first time about 4 years ago, when the current version was 1.28. These days version 1.52 was released. That is reason enough to give an update on SCM-Manager, to sum up the changes and improvements that were made in the meantime.

Integration into software development toolchain

If you are new to SCM-Manager, you can learn more about how to get started with it here. In addition to the basic functionality, namely managing source code, it is SCM-Manager’s strength to integrate into software development processes and to support automation. This is achieved through its versatile plugins.

Available SCM-Manager plugins

As of now there are 50 different plugins available for SCM-Manager, whereby each plugin extends SCM-Manager’s functionality and connectivity. They range from helper plugins over authentication to issue tracker and CI connectors. To give you an idea of the variety, this is a list of all available plugins, those that require version 1.28 or newer have the required minimal version attached.

plugins

There are new plugins like the Slack or the Teamcity plugin or older ones that evolved over time like the JIRA® plugin. Those require newer versions of SCM-Manager. Therefore, you should always upgrade to the latest version of SCM-Manager, because the build-in plugin browser only shows compatible plugins.

In addition to these released plugins there are a couple of plugins that are being developed right now. For example, the script plugins for Ruby and Python, will allow you to write and execute Ruby and Python scripts for SCM-Manager, just like the scm-script plugin allows you to use Groovy and ECMAScript.

Continuous Development

Since our first post about SCM-Manager, the development of SCM-Manager was continued: more than 125 bugs were fixed, libraries were updated, existing features were improved and new features were implemented.

There were major changes like a new repository import wizard, repository health checks and performance improvements. In addition to that there were minor changes like a more detailed logging, API extensions and minor adjustments to the UI. On average, there is a new version of SCM-Manager every 2 to 3 months. So just download the latest version and replace the old one to upgrade and you can easily keep up with improvements.

All in all SCM-Manager became more stable and versatile over the years, which is thanks to the feedback and participations from all its users around the world. The community reports issues, suggests improvements and contributes code - and SCM-Manager evolves.

Integration with Jenkins and Redmine

In the Cloudogu EcoSystem, SCM-Manager plays a key roll in the toolchain. It is the link to the issue tracker Redmine and the CI server Jenkins. This way it allows automated workflows for issue documentation and Continuous Integration.

Try the toolchain with SCM-Manager yourself

If you’re already using Cloudogu EcoSystem, you simply have to install the SCM-Manager Dogu. During the setup, all the necessary configurations will be done automatically. If you don’t have an EcoSystem of your own yet, you can check out our playground. There you can for example check out the demo project “spring-petclinic” from the SCM-Manager, commit changes and then take a look at the build in Jenkins SonarQube.

Note: On Oct. 2nd we adapted the post to Cloudogu EcoSystem


Daniel Huchthausen
Daniel Huchthausen

- Consultant -

When he is not exploring the wilderness, Daniel keeps himself busy with topics such as quality assurance, testing and PM methods.