Dharmesh Sheta

About Dharmesh Sheta

Dharmesh is a Senior Integration Engineer at CollabNet and works with team for Gerrit/Git product solutions in Germany. He has 8+ years experience in Continuous Integration, SW build & release processes, test automation, SW development tooling and infrastructure. Prior to CollabNet, he spent ~4 years at Nokia and was part of core team responsible for CI processes and infrastructure for global SW dev. teams. Dharmesh holds M.Sc in SW Engineering from Leuphana University of Lüneburg, Germany and graduated from VNSGU, India.

Gerrit Productivity Hacks – Configure Jenkins to stop hammering your Gerrit server

As part of productivity hack blog series, this post is aimed towards Gerrit admins/Jenkins CI owners. This post will talk about how they can configure/tune systems they’re maintaining such that Gerrit servers will have less load caused by CI systems and make them capable of serving human users better. Jenkins usage pattern which can create load on Gerrit server Constant/Frequent Polling We all understand importance and benefits of a good Continuous Integration system. It all begins immediately with having a new source code change in the source code repository. We would want our CI system such as Jenkins to grab …

Read More »

Gerrit Productivity Hacks – Add Default Reviewer

We often get requests from the TeamForge users who’re using Git Integration for the one very common use case:  “How can I add a default reviewer to the code review request ? ” Well, answer became much simpler with Gerrit’s  Reviewer plugin  and Gerrit 2.11 with which plugin can be configured per project with the comfort of Gerrit webUI. Installation The verified version of the plugin can be downloaded or install directly. Download and install wget https://s3-ap-southeast-1.amazonaws.com/ctf-dev-environment-vagrant/reviewers.jar ssh -p 29418 <USERNAME>@<GERRIT_HOST>  gerrit plugin install -n reviewers.jar  -< reviewers.jar Direct install ssh -p 29418 <USERNAME>@<GERRIT_HOST>  gerrit plugin install -n reviewers.jar  – …

Read More »

Here at last – How to permanently delete/recycle projects in Gerrit

If you are using CollabNet’s TeamForge Git Integration, you may have felt the need to delete few or more repositories hosted on Gerrit for various reasons: a) You want to delete repositories and all code reviews associated with it because you do not need the code any more and confuse users with its existance b) You just want to create a Git repository with the same name all over again after deleting the original one, IOW recycle the project name c) You want to save disk space If you simply deleted the Git repository from TeamForge’s Web UI, you would …

Read More »

Git Repository Replication with Gerrit and TeamForge

Update: Git Replication is now a built-in feature in TeamForge 8.1 Why do we need replication in general? There are several scenarios in which it is quite handy to have a repository whose version history is exactly the same as the one it mirrors. Perhaps the most obvious one is the maintenance of a simple backup repository, used when the primary repository has become inaccessible due to a hardware failure, network outage, or other annoyances. Other scenarios include deploying mirror repositories to distribute heavy load across multiple servers. We’re using Git, a DVCS. We don’t need replication. Do we? Depending …

Read More »

TeamForge Git /Gerrit Integration with Jenkins CI

CollabNet TeamForge 6.2 onward integrates Git using Gerrit – an open source code review system designed around Git workflows. Gerrit has been in use at numerous open source projects like Android, Eclipse, OpenStack etc. and also catching up well at enterprises. Peer code review has many advantages, reducing if not completely eliminating possibilities of shipping ‘bad code’ by having more eyeballs looking at code changes. A peer code review process starts as soon as a developer is done with his/her change in code base and pushes it into a review system. Code review requires human effort and thus is more expensive. Hence, it is worth verifying whether changes compile, build and …

Read More »