Johannes Nicolai

About Johannes Nicolai

Johannes Nicolai is CollabNet’s Development Manager leading all Git and Gerrit related development efforts. Furthermore, he is responsible for CollabNet Connect /synch, CollabNet’s platform to integrate TeamForge with third party ALM platforms. Johannes holds a Master of Science in IT Systems Engineering from Hasso Plattner Institut Potsdam and is a Certified Scrum Master. Before joining CollabNet five years ago, he was doing consulting on user centric design, developing cryptographic software and architecting SAP integrations. He is an Open Source enthusiast and contributes to many projects (check out https://www.ohloh.net/accounts/10619 for details).

Gerrit Productivity Hack – Handling Large Binary Files with Gerrit, Artifactory and Git LFS

featured_image

Handling large binary files with Git is a performance pain. You can work around the problem by some proper Gerrit tuning and restructuring your build scripts so that they fetch binaries from an artifact repository instead of having them part of the repo. With Git LFS, there is another approach available that does not require any changes to your build process or Git server configuration. The Gerrit and JGit communities are still working on built-in Git LFS support, but I thought it makes sense to show how Gerrit can be used with a separate Git LFS backend – Artifactory – …

Read More »

10 Things You Should Know About Git Replication in the Enterprise

featuredimage

1. Git is distributed, isn’t replication a concept for centralized version control systems? You’re right, Git is a distributed version control system. However, most enterprises require their developers to synch their local work with central, “blessed” repositories. Those central synch points make sure no work is lost if a laptop gets stolen or damaged and developers only have to only know one place where they have to go to learn about their colleagues’ work results. The same applies to build/CI servers like Jenkins that will monitor and pull the latest source code from the blessed repository as well. Consequently, most …

Read More »

Stash your Trash – Keep GIT clean with Gerrit 2.10

Stash your Trash - Keep GIT clean - CollabNet

Garbage collection is really important, not just in the real world but also within your Git repositories. If you have lots of development activities going on, chances are very high that your Git clone and push operations will get slower and slower. Fortunately, the cure is simple: Run git garbage collection (git gc). We have seen examples where running gc cut clone and push times by more than 99 percent. Same goes for code browsing activities as well – Run git gc and list your branches online within milliseconds instead of seconds again. If Git garbage collection has so many …

Read More »

Bulletproof, Military Grade Security – Visualizing the Access Control Mechanisms of Your SCM Solution

Who-can-access-What

Why visualize? Access control is probably not the most sexy or intuitive part of any SCM (source code management) solution. However, understanding how access control mechanisms work is crucial for any enterprise that has to protect its intellectual property. What makes things tricky is that any SCM solution on the planet claims to have proper, powerful, “military grade”, “bulletproof” access controls in place. Looking at the specifics, there are huge differences that can give you a competitive business advantage (or disadvantage). A framework that helps you to visualize the differences in the fine print is a way better approach to …

Read More »

Feature Hat-trick: Three new Git features for TeamForge in a week

hattrick

The rule of three The rule of three also seems to apply to new TeamForge Git features. Last week, I blogged about the top three Git features coming with the new TeamForge 8.0 release.  In the same post, I already announced that another three Git features will be released immediately after the launch, so let’s inspect how this hat-trick looks like.   1. Assign an entire TeamForge Team to a Code Review with One click TeamForge 8.0 introduced teams as a native concept. If you like to add all team members to a Gerrit change (Git Code Review) at once, you can …

Read More »

Top 3 Git Features coming in TeamForge 8.0

gerritlogo

CollabNet just released TeamForge 8.0 and with it some significant new features for our Git/Gerrit integration. Without further ado, let’s have a look into the top three. Define Git permissions globally: Site-wide role support for Gerrit As described in detail in my previous blog post, TeamForge project roles control access to all tools integrated in your development process, no matter whether you use Git, Subversion or both, how many servers you use or what your favorite issue tracker is. What happens if you like to define permissions across TeamForge projects on a global basis? Let’s say you have a group …

Read More »

TeamForge Git-Integration 8.2.1 adds more federated RBAC to Gerrit

gerritcollabnet

We are proud to announce and release version 8.2.1 of our Git/Gerrit integration with TeamForge today. This version exposes even more federated RBAC (role base access control) capabilities of TeamForge within Gerrit. What do I mean by federated RBAC? There is just one central place (TeamForge) where you can define permissions for all tools of your software development tool chain. For example, when a new employee joins your company as a developer, you have to create their account in TeamForge and automatically make sure that they can log into all connected tools like Gerrit, SVN, ReviewBoard, Trackers, Wikis, discussion forums, …

Read More »

You shall not pass – Control your code quality gates with a wizard – Part III

Gandalf

You shall not pass – Control your code quality gates with a wizard – Part III If you read the previous blog post in this series, you should already have a pretty good understanding on how to design your own quality gates with our wizard. When you finish reading this one, you can call yourself a wizard too. We will design a very powerful policy consisting of quite complex quality gates. All steps are first performed within the graphical quality gate wizard. For those of you who are interested in what is going on under the hood, we will also …

Read More »

You shall not pass – Control your code quality gates with a wizard – Part II

Gandalf

You shall not pass – Control your code quality gates with a wizard – Part II In the previous blog post you learned how to select, test and deploy predefined quality gates with CollabNet’s code quality gate wizard for Gerrit. Those quality gates will make sure that all conditions regarding code quality and compliance are met before a commit can be merged into your master branch and trigger a pipeline that will eventually promote it into production. In this blog post we will focus on how you can define quality gates by yourself, using a methodology very close to setting …

Read More »

You shall not pass – Control your code quality gates with a wizard – Part I

You shall not pass

You shall not pass – Control your code quality gates with a wizard Now as easy as designing an email filter Every project has different policies defining when code can be pushed into production. CollabNet’s code quality gate wizard for Gerrit comes with a bunch of predefined policies and lets you graphically design your own quality gates as easy as defining email filter rules. Four-eye peer review, legal has to approve copyright file changes, senior staff has to approve the work of juniors, democratic feature voting? – Regardless of what your code quality gates look like, chances are very high …

Read More »