Configuring TeamForge Git Integration with Git LFS using AWS S3

Welcome to the third blog in the series on how to configure TeamForge with Gerrit replication enabled. In the first blog post, I have explained the problem of Git LFS data in context of replication and proposed a solution with AWS S3 Bucket Cross Region Replication (CRR). In the second blog post we went through the process of setting up the CRR between two regions. Now it is time to configure our Gerrit servers to make use of this setup. Next, we will discuss the migration of the existing data from the file system to the S3 bucket. Finally, we …

Read More »

Setup S3 buckets with Cross Region Replication

This is the second blog post in our series related to the configuring replication with Git LFS using Amazon S3 Bucket. In the first blog we have discussed what are the implications of using Git LFS together with replication and how to improve it. Before we begin I would like to thank my colleague Logarajan. Logarajan has helped me a lot and co-authored this post. This time, we are going to set up the Git LFS data replication. We will use S3 Cross Region Replication (CRR) feature to replicate the objects from one S3 bucket to another. That way the …

Read More »

TeamForge Replication with Git LFS S3 backend

Amazon S3 replication mechanism

Let’s talk a bit about Git LFS (Large File Storage) in context of Git replication with TeamForge. What is Git LFS? As you can read on Git LFS Project page: Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server. What is important here is that the file contents of large files are stored outside the Git repository, on the remote server, the Git LFS Server. The LFS support in TeamForge is based on the open source Gerrit LFS plugin. …

Read More »

CM Crossroads Recap: ALM Methodologies for Modern Application Delivery

This week, Transparency Market Research announced a research report projecting that the Application Lifecycle Management (ALM) market will reach $4.39 billion in revenue by 2023. The report, which provides in-depth analysis of the prevalent trends and technologies in the ALM market worldwide, argues that “the integration of ALM is necessary” for businesses to develop the best virtual methods for different phases of the software application process and cites increased efficiency, agility and resource utilization as some of the key benefits of the process. Knowing the growing importance of ALM tools, I wrote an article for CM Crossroads that published last …

Read More »

“How to Improve Productivity with Agile Methodologies” (CIO.com Article Recap)

Many in the industry are searching for new ways to increase productivity and efficiency with Agile approaches to software development.  That’s the theme of a new article on CIO.com by Bruce Harpham, who details the many benefits of Agile methodologies in software development and examines key considerations for implementing the practice. Our very own Scott Rose spoke with Bruce on the topic and discussed the ways organizations can employ Agile practices among a global team, where face-to-face is not feasible. While Bruce notes that face-to-face interaction is a key element to increased productivity within agile, it’s not always possible with the …

Read More »

Five Hard Truths about Agile Development

There’s no denying the positive and disruptive impact of Agile software development practices. For nearly 15 years, the industry has worked to improve tooling and processes to meet the insatiable appetite customers and organizations have for quality software. It started as small teams within small organizations, then teams-of-teams, and now large enterprise-wide implementation – making Agile clearly mainstream and the predominant method for building and deploying software. However, great efforts bring challenges – and it holds true with Agile. The following are five hard truths about Agile development and how to avoid pitfalls that can slow the realized benefits of …

Read More »

Installing Jenkins for Use with TeamForge

This week I was working with a customer, helping to set up a sandbox environment for them, including helping them to build a local Jenkins server to use with TeamForge.  I’ve done this a few times now, but every time I end up back in the same places, figuring out the same things over again so this time, I’m going to document it for me, and for you.  There’s a pretty good chance, I think, that I’ll end up doing this again for a proof of concept with a prospective customer one day, so having this information handy will be… …

Read More »

So You Want to Centralize?

“7 Steps to Centralize Your Enterprise” So you want to centralize your enterprise? Smart choice – but it’s important to take some factors into consideration if you want to have success. Developers need to ensure representation from each geographic location; understand current development processes and tools; and comprehend the biggest challenges. Furthermore, you need to be aware of, and sensitive to, your project teams’ preferences for existing tools and aversion to change. Before we get started into our list of the “7 Steps to Start Centralization,” let’s tackle the question you are probably asking – “What is centralization, anyway?” Centralization …

Read More »

10 Things You Should Know About Git Replication in the Enterprise

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 »